Goals from Riccardo Montolivo, the Italian and Kaka helped ease the pressure on their coach with the team's first win in five Serie A games.
When Lucas Castro gave the hosts an early lead there were alarm bells ringing for the San Siro outfit, yet a quick response from Riccardo Montolivo calmed its nerve.
Just after the hour mark Mario Balotelli would put Massimilano Allegri's team into the lead for the first time, and Panagiotis Tachtsidis' dismissal minutes later made the task of the visitors easier. Milan sealed all three points courtesy of Kaka's 99th goal for the club, with a typically incisive run before firing into the roof of the net from close range.
Catania boss Luigi De Canio opted to make six changes from the 4-1 loss to Torino last weekend, including altering his entire back four. Allegri, meanwhile, was without first-choice keeper Christian Abbiati due to illness, and defenders Ignazio Abate (ankle) and Cristian Zapata (suspended) were also out.
Milan was looking to build on its comprehensive 3-0 victory over Celtic in the Champions League midweek but got off to the worst possible start when Castro’s shot deceived goalkeeper Gabriel after deflecting off Daniele Bonera to give Catania the lead 13 minutes in.
Maxi Lopez kept the ball alive after a left-wing cross, and Castro danced around two challenges before firing home via Bonera’s knee.
However, De Canio’s side was ahead for just six minutes, as captain Montolivo’s controlled volley from Emanuelson’s dangerous cross beat Mariano Andujar.
Milan then looked most likely to go in front, although Catania threatened just before the interval when the 21-year-old Gabriel was only able to parry Luciano Monzon’s powerful effort before holding on at the second attempt.
The home side came out on the front foot after the break too, but was undone when Balotelli rifled a low 20-yard free kick past the helpless Andujar in the 63rd minute for his fourth league goal of the season. And things went from bad to worse for Catania almost immediately, as Greek midfielder Tachtsidis was dismissed by referee Nicola Rizzola after bringing down Balotelli.
Kaka finally made Milan's numerical advantage pay in the 81st minute with a fine individual effort, before Balotelli was perhaps wisely withdrawn by Allegri after engaging in a running battle with Argentine defender Nicolas Spolli.