Denied Boateng in the opening moments with a strong hand and it set him off on a decent game. He was confident and decisive as he judged when to come off his line well, aiding his defence deal with balls over the top. Still beaten three times, though.
Managed to keep El Shaarawy quiet during the first half but after Barrientos' dismissal he was more readily exposed. He put in a great challenge on Nocerino when his side were 2-1 down.
The former AC Milan centre-back opened the scoring early on with a powerful header that left Amelia with no chance. His presence at the back was vital as he read the play well to intercept possession.
Locked out the Rossoneri from their right flank with a solid defensive display. He was uncompromising as both Robinho and Boateng struggled to get the better of him in the first half.
The Uruguayan performed well in the first half but fell to pieces after the break. He regularly let the attackers get away from him and failed to pick up El Shaarawy on the equaliser. He struggled to read the game.
Ruined the night for his team with two moments of stupidity. After receiving his first yellow card for simulation, the second came following a ridiculously idiotic kick on Nocerino which offered Milan a route back into the game.
Worked hard for his side, chasing the ball down in the final third, but he never really threatened directly. He never seemed to pop up in a dangerous area and spent more time tracking back to increase numbers in the middle.
Showed his quality from a dead ball with a number of quality deliveries, including the one which Legrottaglie headed home for the opener. His craft helped create some of Catania's brightest moments.
Policed the midfield well during the first half, keeping shape and closing the space well. But following Barrientos' red he was completely overrun and found it difficult to maintain his influence.
A dynamic performance from the midfielder as he supported the attackers as well as chipping in defensively. However, he regularly seemed to run into a dead end and was withdrawn through injury in the second half.
Could do little to keep out Legrottaglie's powerful header early on, but will feel let down by his defence's poor marking. Thereafter, he had a relatively comfortable night, despite a few scares from the men in front of him.
M. De Sciglio
Made some well-timed challenges but found it difficult to keep track of Castro at times. He offered an attacking outlet down the right all evening but his crossing often let him down.
Was at a complete standstill as Legrottaglie rose to nod in the opener, failing to pick up his man. He was similarly hesitant for much of the night and seemed to take a few moments too long whenever on the ball.
Stepped out of defence and passed well in the opening stages but should have used his seniority to better guide his team-mates in the first half. Had little to do after Catania were reduced to 10 men.
Ventured down the left on occasions but looked extremely complacent when defending. He almost gifted Catania a goal around the half-hour mark but his one redeeming feature was a few decent crosses.
Tried to provide the creativity from deep but mostly ended up sending long passes forwards. He made one drive forward in the first half and was withdrawn in the second half for Emanuelson.
It was an all-action performance from the midfielder as he charged up and down the pitch endlessly. He was only denied a potential goal by a brilliant Alvarez challenge, but kept his side flowing well.
N. de Jong
Played the game he has become renowned for as he broke apart the play in midfield and distributed it easily to his team-mates. He was key to Milan's most dominant spells in possession.
Got the first shot of the night away but looked frustrated and lazy for much of the first half. But he emerged for the second half a different player and after supplying the cross which El Shaarawy finished, he added a great goal of his own. Perhaps unlucky to be shown a red card in the final minutes.
S. El Shaarawy
Continued to plug the void left by Ibrahimovic as he once again played a pivotal role for the Rossoneri. He restored parity after the restart and despite missing a great chance 20 minutes later, he grabbed a brilliant second in the final moments to cap an excellent performance.
The Brazilian contributed very little to his side in the first half and was very lethargic. He was similarly apathetic after the break as he missed an absolute sitter in the closing stages, compounding a poor evening.
Replaced the injured Almiron in the 72nd minute but could not offer the same energy.
Came on for Salifu but was unable to relieve the pressure from the defence.
Brought on for Bergessio with 13 minutes remaining but could not influence the match positively.