Made a fantastic second-half save to deny Balotelli and had a fine game, overall. Could do nothing about either goal.
Worked hard and also contributed to keeping Balotelli quiet for long periods of the game. But looked vulnerable at times.
Made a few key clearances and interceptions, despite being utterly unable to deal with Balotelli once he got into full flight.
Kept tabs on Balotelli throughout, using his experience to limit the Italy international's opportunities. Scrappy but very, very effective.
His physicality helped to keep tabs on the pacey Niang in the second half, but the full-back was occasionally guilty of clumsiness.
The returning captain helped to add no end of grit in midfield, though he didn't offer too much offensively.
An excellent performance from the athletic midfielder, as his drive and work-rate helped Livorno to keep up a high level of intensity. Slightly inaccurate with his shooting, but his marauding runs and high energy levels were key.
Worked hard in midfield to press and harry, which was a key ingredient to Livorno's success, as Milan weren't permitted to settle. But his overall contribution was minimal.
Had a quiet first half but grew into the game, as he was given more offensive freedom once El Shaarawy replaced Birsa. Showed glimpses of trickery in advanced positions but, ultimately, there was no end product.
Took his goal excellently, smashing home inside the front post, and was a nuisance all game. Dangerous when permitted to run from deep and linked up well with Siligardi. A fine performance.
His finish for Livorno's first goal was excellent, leaving Gabriel little chance, and his work rate was admirable. Constantly willing to get on the ball and beat players.
Questionable goalkeeping to allow Paulinho to fire home inside his near post, but the young goalkeeper didn't do much else wrong over the course of the game.
Solid at the heart of the visiting defence, composed enough to bring down lofted ball and help to start attacks rolling. Made numerous key interceptions.
His physicality allowed him to outmuscle Paulinho and Siligardi, but the Colombian was too often found wanting for pace and never looked sure on his feet.
Kept the ball moving in midfield and made a few reasonable free-kick deliveries. Not a classic performance from the captain, though, as he wasn't able to showcase his passing range.
N. de Jong
Battled in the centre of midfield, and had a couple of chances to test Bardi with his head. However, this was not one of his more dominant games.
Showed his versatility yet again, tracking back and covering brilliantly at left-back, preventing a few dangerous Livorno counterattacks with his pace. But offered absolutely nothing offensively.
Looked very bright in the early stages, providing the delivery for any good chances that Milan managed to get. Assisted Balotelli's first goal and picked out Niang, who made a terrible second-half miss.
Utterly ineffective in the first half before an early knock forced the Slovenian to be substituted before the break. A forgettable evening for the midfielder.
Struggled against Duncan in the first half, as the Italian wasn't well protected by his midfielder. A steady performance, but he won't want to play Duncan too often.
An ineffectual performance from the Italy international, as he worked hard but failed to have any impact on proceedings. Desperately disappointing.
Took his first goal rather scrappily, but there was no mistake with the second, a 30-yard free-kick which whistled into the top corner. Unfortunate to strike the bar from a similar range minutes later. Milan's saviour. Again.
M. De Sciglio
Changed the game after he took to the field, breaking forward excellently from right-back and providing some extra width. Will surely start against Ajax.
S. El Shaarawy
Came on just before the break because of Birsa's injury. Prevented Schiattarella from supporting Livorno's counterattacks and provided some crosses from the left but didn't have a major influence on the game.
Guilty of a terrible miss in the second half, skewing Kaka's cross wide of goal when it seemed easier to hit the target.