Goals from Riccardo Montolivo, Mario Balotelli and the Brazilian helped eased the pressure on their coach, with their first win in six 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 their 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 their 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 were looking to build on their comprehensive 3-0 victory over Celtic in the Champions League in 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 on 13 minutes.
Maxi Lopez kept the ball alive after a left-wing cross, and Castro danced round two challenges before firing home via Bonera’s knee.
However, De Canio’s side were 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 were undone when Balotelli rifled a low 20-yard free-kick past the helpless Andujar on 63 minutes 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.