The Rossoneri started the game the brighter of the two sides, as Stephan El Shaarawy went past three defenders into the penalty box but eventually lost possession of the ball.
Mauricio Ferreira Pinilla then shot over the crossbar for Cagliari from the right of the hosts' penalty box in the 14th minute.
Two minutes later El Shaarawy put Milan into the lead when he latched onto Riccardo Montolivo's through ball and shot home from 15 yards.
Segundo Ibarbo went close for Cagliari on 34 minutes with a shot from 25 yards, before El Shaarawy's deflected cross rattled the visitors' crossbar.
Cagliari were reduced to 10 men in the 66th minute when Daniele Conti was shown his second yellow card of the game after elbowing Pazzini.
Milan took advantage of their numerical superiority on 82 minutes, as El Shaarawy found the target again, firing home Massimo Ambrosini's neat pass.