Had one or two saves to make all afternoon as Livorno failed to really test the Rossoneri keeper.
The supposedly speedy Italian struggled to deal with the pace of Mesbah and strength of Emeghara. Livorno had most of their success attacking the left side of the Milan defence.
Caught out of position on a few occasions, but was never made to pay for it. Nearly opened the scoring when he headed a free kick off the bar midway through the first half.
Hardly put a foot wrong at the back. Wasn't troubled too often, but made a few important tackles to thwart Livorno attacks.
Proved to be a real thorn in the side of the Livorno defence as he got forward well to contribute in attack. Made some nice overlapping runs, and sent a perfect cross in to assist on Balotelli's opener.
All over the place in attack. Roamed around the outside of the area, creating a number of chances with his crisp passing and nifty footwork. Inches away from opening the scoring early in the first half.
Doubled Milan's lead with a smart finish early in the second half. Always eager to take on a defender when in possession, and appeared to be all over the park for Milan.
Architect in midfield. Saw plenty of the ball, distributing it well in midfield which saw him kick-start a number of promising attacks.
N. de Jong
His usual physical self in midfield, never shying away from a challenge. Didn't contribute much to the attack, but acted as a stabilizing force in the middle of the park. Subbed off in the 66th minute.
Started off very quiet, but sprung to life with his goal late in the first half. Dominant display from the striker from that point on, also assisting on the third goal with a lovely through ball.
Got on the end of a number of chances in the first half and looked the most likely to score. Caused Livorno a number of problems, but seemed to really fade out as the game went on.
Difficult day for the keeper who was hung out to dry by his defenders. He made a few smart saves, and really can't be blamed for any of the Milan goals.
Overwhelmed in defence. Struggled to deal with the movement of Milan in attack and was caught out of position a number of times as a result.
Made a nice run early in the first half and nearly won his team a penalty. Other than that, quiet performance from him in midfield.
A great run in the first half saw him beat Abate clean, winning a free kick just on the edge of the area - missing out on a penalty by a hair. Other than that, however, he hardly made his mark on the match.
Provided far too much space for Robinho and Kaka. Looked overwhelmed more often than not with the brilliant link-up play between the Brazilians and the overlapping runs of Constant.
Made a number of vital blocks to keep the score at what it was, but still didn't ask enough questions of the Milan attackers who got the better of him more often than not.
Went up against the likes of Montolivo and De Jong in midfield, and always came out second best.
Tracked back well to defend, providing support for the three at the back. Sloppy passing proved to be his undoing. Subbed off in the 82nd.
Easily the best and most dangerous midfielder out there for Livorno. Made some great runs, showing his skill, but lacked any support when he pushed forward.
Uncharacteristically failed to trouble the Milan defence. His strength and pace usually sees him create a few chances from nothing, but that couldn't have been farther from the truth today.
Virtually a spectator, who hardly saw the ball. Made a few nice runs but was never picked out by a teammate.
A late substitution to wind down the clock.
Came on for De Jong and made himself a nuisance in midfield, helping to see the game out.
Missed a chance moments after coming on, but scored minutes later, taking a nice feed from Balotelli and smartly finishing past Bardi.