Massimiliano Allegri's side cruised to a convincing win over Sardinians to pick up their first three points of their domestic season
Massimiliano Allegri's men made amends for last weekend's shock loss thanks to goals from Robinho, Philippe Mexes and the impressive Mario Balotelli to complete a much-improved week for Milan that saw them reach the Champions League group stages.
Marco Sau ensured Cagliari supporters had something to cheer when he scored a wonderful solo effort just before the break before Balotelli sealed the win for Milan.
The result was the 10th time Cagliari have lost at San Siro to Milan and it highlights how much work they will have to do if they want to retain their Serie A status this season.
Milan boss Allegri made three changes to the team that triumphed 3-0 over Dutch side PSV midweek, with Urby Emanuelson, Robinho and Andrea Poli all coming into the side.
New signing Alessandro Matri - formerly of Juventus - failed to make the starting line-up but was named as a substitute.
Cagliari were unchanged from the side that beat Atalanta last week. Ivo Pulga left Davide Astori on the bench for the second match running, fuelling rumours that he could leave the club before the transfer window closes.
Milan got off to a flying start when Robinho tapped home in the eighth minute after a Balotelli cross from right that skimmed past the watching Cagliari defence.
Balotelli's ball bobbled its way to the Brazilian at the back post and he made no mistake.
The playmaker could have scored again two minutes later when he fashioned some space on the edge of visitors' area, but his shot went just past goalkeeper Michael Agazzi's left post.
Cagliari seemed to be overwhelmed by Milan's pressing in the middle of the park and frequently gave the ball away.
And it was the hosts who went two up after 30 minutes thanks to the unlikely figure of Mexes, who surged up from defence to volley home from close range after Balotelli again had been the central figure in the build-up.
The former Manchester City man hit a superb shot that Agazzi did well to keep out only for Mexes to slam home the rebound.
Cagliari, though, fought back almost straight away with a fine finish from Sau to keep the game alive.
The striker snaked in from the left and curled his shot away from the helpless Christian Abbiati into the far corner.
The effort was Cagliari's only shot on target in the first half but Sau certainly made it count.
Cagliari started the second period with a sweeping counter-attack across the field that forced Milan's defence to desperately backtrack. But Radja Nainggolan on the left flank could not quite free himself from the clutches of Ignazio Abate in the attack's final move.
Just after the hour mark, Balotelli finally got himself on the scoresheet.
A deep Abate cross was weakly headed away by centre-half Lorenzo Ariaudo and the ball fell at Balotelli's feet. The striker lashed it into the net to restore Milan's two-goal advantage.
Four minutes later, Matri was brought on for Robinho with Allegri perhaps sensing all three points were heading his way.