Made a fantastic second-half save to deny Balotelli and had a fine game, overall. Could do nothing about either goal.
Made a few key clearances and interceptions, despite being utterly unable to deal with Balotelli once he got into full flight.
His physicality helped to keep tabs on the pacey Niang in the second half, but the full-back was occasionally guilty of clumsiness.
Kept tabs on Balotelli throughout, using his experience to limit the Italy international's opportunities. Scrappy but very, very effective.
Worked hard and also contributed to keeping Balotelli quiet for long periods of the game. But looked vulnerable at times.
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.
The returning captain helped to add no end of grit in midfield, though he didn't offer too much offensively.
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.
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.
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.
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.
An ineffectual performance from the Italy international, as he worked hard but failed to have any impact on proceedings. Desperately disappointing.
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.
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.
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.
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.