There was little to choose between the two sides in the first half, but the the task for Milan to extend its winning streak took a bad turn when Mark van Bommel, on his Milan debut, was sent off for a second yellow card after a foul on Catania midfielder Pablo Ledesma.
Zlatan Ibrahimović then put Milan on his back and carried the 10-man side to victory. First he fired in a vicious, low free-kick which Mariano Andújar could only parry into the path of Robinho, who tapped in from close range. Then Ibra scored from a Robinho cross six minutes from time to make it 13 goals in 20 Serie A matches this season.
Earlier, Lazio beat Fiorentina 2-0 at home to rekindle their title hopes as Lazio got two goals in five minutes by Libor Kozák to grab all three points. The win lifts Lazio up to third, level on 40 points with SSC Napoli.