The Barcelona keeper had little to do besides pick the ball out of his net at either end of the match.
Flying right-back played as an auxiliary winger due to Milan's total lack of an attacking threat, but besides one tidy reverse pass for Messi he never really made a breakthrough.
Continued at the heart of Barcelona defence, and like most of the back line he was rarely tested. Did charge forward to make one or two decent interceptions from Pato.
Continues his amazing recovery from a liver tumour with another start for the Catalan giants. Was never really tested by Milan in between their early and late goals.
Had the task of anchoring his side's midfield, with the men he usually competes for the role with in central defence. Did so admirably, dropping back to help to impressive effect on the rare occasions Milan did get forward.
Partnered fellow midfielder Mascherano in a makeshift centre-half pairing, in which he could be faulted for both goals, allowing Pato to race away from him at the first before being outjumped by Thiago Silva for the equaliser. Did win free-kick for his side's second, however.
Found himself in the right place at the right time to tap home his side's 35th minute equaliser, and was otherwise industrious on the flank.
The pivotal figure in the Barcelona midfield, sprayed passes and helped his team retain the vast majority of possession while also stinging Abbiati's palms with a long-range effort.
The diminutive Spain international attempted to get on the ball and help his side probe at Milan's stubborn rearguard resistance, but was replaced by Fabregas on 39 minutes after picking up an injury.
Didn't do much - apart from curl a stunning free-kick into Abbiati's top right-hand corner in the 50th minute, that almost gave his side victory.
Took the game to Milan in the first half, testing Abbiati on no fewer than four occasions while also hitting the post, and providing the assist for the equaliser with a incisive run and pass.
34-year-old shot-stopper made a string of saves to deny Messi, one of which demonstrated superb reactions when he blocked at his near post. Couldn't be faulted for either goal.
Veteran defender didn't cover himself in glory against Lazio in his side's Serie A opener last Friday - but did tonight. A colossal defensive barrier who almost single-handedly thwarted Barcelona at times. One 55th minute slide tackle on Messi was truly world class.
Came into the side in place of Luca Antonini, who started against Lazio, and worked hard at left-back, but went to sleep at Barcelona's equaliser.
Pacy right-back made a great start, winning a couple of personal duels with Pedro. He was, however, outmuscled far too easily by Messi at Barcelona's first.
The Brazilian defender is widely recognised as one of the best central defenders in world football at the moment, and had his moments tonight. Wasn't quite alert enough at Pedro's goal but popped up with dramatic late equaliser.
Energetic Ghanaian worked hard to contain Barcelona threat before he was withdrawn due to injury in the 34th minute.
M. van Bommel
Has been notorious for the harsh treatment he has dealt out to Iniesta and Xavi in the past. Worked hard to plug the gaps in front of his defence and was reasonably effective.
Veteran Dutch midfielder was one of five changes to the side which drew in their Serie A opening day fixture. Gave the ball away too much when he picked it up on the rare occasions his team did manage to get out of their own half, but did whip over the corner from which Thiago Silva equalised.
Earned a start after an impressive and energetic substitute display against Lazio. Another who worked hard to stop Barcelona's relentless attacks from finding space. Solid without being spectacular.
The young Brazilian used his electric pace to dart through a static Barcelona defence and give his side a shock lead after just 24 seconds.
Looked set to be left out by Allegri until Ibrahimovic was ruled out by injury, and may as well have been. Although the game did not suite him in any respect, he offered nothing besides giving away the foul from which Villa scored with a free-kick.
- 13 Pinto
- 19 Maxwell
Captain made a late appearance and made one decent interception to cut out a Seedorf through ball.
- 21 Adriano Correia
- 11 Thiago Alcântara
Late cameo appearance.
Replaced Iniesta early on and helped his side retain possession without offering anything spectacular.
- 1 M. Amelia
- 25 D. Bonera
- 77 L. Antonini
- 76 M. Yepes
Replaced van Bommel in the 77th minute to help his side retain possession.
Came on early in place of Boateng, but wasn't particularly impressive.
Took Cassano's place and moved to the left of midfield. Alves picked up booking for poor tackle in him.