Victor Ibarbo gave the Sardinians the lead on the stroke of half time before Mario Balotelli responded from the penalty spot after Cagliari had Davide Astori sent off.
But, despite a late siege on the Cagliari goal, the Rossoneri were unable to find a winner leaving the home side four points clear of the drop zone.
Ibarbo had the home fans on their feet early on when he showed excellent strength and close control to make his way past two Milan defenders, but he was unable to get in a shot before Ignazio Abate recovered to clear.
He then missed a good chance to open the scoring in the 21st minute, showing the frustrating part of his game by sending a shot over with only Christian Abbiati to beat.
But he more than made up for it with the opening goal on the stroke of half time.
Daniele Conti lifted the ball into the penalty area and, while he was turning in mid-air, the Colombian wilfully changed the direction of the ball with the back of his head to wrong-foot Abbiati.
Cagliari could have made it two early in the second half but Conti's shot went over the bar.
Milan responded with Balotelli sending a free-kick into the wall from a dangerous position.
After Thiago Ribeiro's header was saved in the 75th minute, there was only one side in the game as Milan launched 15-minute assault on the Cagliari goal.
They were assisted by a foul by Astori on Balotelli in the 81st minute with the referee left little choice but to point to the spot.
The Italy international scores the crucial penalty for the second week in a row, taking his tally to three goals in just two games for the Rossoneri.
He nearly grabbed a second in stoppage time, but his overhead kick was ruled out as the ball had already crossed the goal line before being headed back to him by Robinho.