Here's how the players fared:

CELTIC

FRASER FORSTER: Questions will be asked of the new England international and why he did not come for Valter Birsa's cross for Kaka's opener. He did not cover himself in glory for the other two goals either. 5/10

MIKAEL LUSTIG: The Hoops' Swedish right-back did a decent job bombing forward but his final ball was rotten. 6

EFE AMBROSE: The defender was up for a physical tussle with Mario Balotelli but was simply shrugged out of the way as the Italy frontman rolled home the third. 5

VIRGIL VAN DIJK: The Dutchman should have had Kaka marked for the opener but wandered off as the Brazilian nodded in the opener. Compounded his gaffe by shooting straight at Christian Abbiati when it was easier to score. When he did find the net, it was ruled off for offside. Booked for foul on Balotelli. 5

EMILIO IZAGUIRRE: Another to pick up a caution for clattering into Balotelli and will now miss the Scottish champions' trip to Barcelona in a fortnight. 6

DERK BOERRIGTER: The former Ajax winger was handed just his fifth start for the Hoops but showed signs of rust when he mishit a decent early chance from Charlie Mulgrew's corner. 6

BERAM KAYAL: Netted against Ajax on his last Champions League outing but lasted just half an hour this time as he limped off injured. Replaced by Joe Ledley. 4

CHARLIE MULGREW: Had a chance to level at 1-0 when he pounced on Riccardo Montolivo's loose pass but could not beat Abbiati. Otherwise tidy. 6

JAMES FORREST: Had Milan left-back Urby Emanuelson on toast as he beat him for fun in the first half but disappeared after the break. Came close with a low strike when his team was already three down. Replaced by Tom Rogic. 6

KRIS COMMONS: Having struggled to break free from De Jong's watch in the early period, his frustration showed as he was booked in the second half for kicking the ball away. Substituted by Anthony Stokes. 5

GEORGIOS SAMARAS: The Greek was preferred to Anthony Stokes in the lone striker role but was ineffectual up against Cristian Zapata. Never stopped battling though. 6

Substitutes:

JOE LEDLEY (for KAYAL, 31): Given an hour but failed to add an extra dimension to the Celtic midfield. 4

ANTHONY STOKES (for COMMONS, 66): Thrown on with Celtic trailing by three but could not turn the match around. 3

TOM ROGIC (for FORREST, 81): On as the game fizzled out. 1

AC MILAN

CHRISTIAN ABBIATI: Milan's veteran stopper punched everything that came in from the flanks - catchable or not - but was generally reliable. 6

IGNAZIO ABATE: Dealt reasonably well with Boerrigter but did not add much to the Rossoneri in an attacking sense. Off for Antonio Nocerino. 6

CRISTIAN ZAPATA: Centre-half came up with a crucial last-ditch tackle on Kayal to prevent an early goal for the hosts before prodding home the crucial second. Solid. 8

DANIELE BONERA: A few shaky moments as he tried to bring the ball out of defence but fortunate nothing came from his casualness. 6

URBY EMANUELSON: Struggled to locate Forrest at times in the first half, never mind stop him. The Dutch full-back was much better after the break. 5

ANDREA POLI: An eager worker in midfield who kept things tidy while his more talented colleagues sprayed the ball about. 6

NIGEL DE JONG: Milan's Dutch midfield destroyer did a brilliant job nullifying the threat from Commons in between the lines. Almost followed the Scotland international into the home dressing room at half-time. 7

RICCARDO MONTOLIVO: The Italians' skipper lofted over the free-kick which led to Balotelli's killer third goal. Lucky Mulgrew did not make more of his first-half slip-up, though. 7

VALTER BIRSA: Produced two wicked corner deliveries for Milan's first and second goals. His general play was not bad either. Subbed by Kevin Constant. 7

KAKA: Celtic were well aware of the former World Player of the Year's ability on the ball but they were made to pay for doubting his heading skills as he nodded home the opener. Back to his classy best. Replaced by Robinho. 7

MARIO BALOTELLI: The former Manchester City maverick kept his nose clean with the match officials but proved to be a handful for the home side as he rounded off the scoring after out-muscling Ambrose. 8

Substitutes:

ANTONIO NOCERINO (for ABATE, 48): Only on the pitch for a minute before he set-up Zabata's second. 4

KEVIN CONSTANT (for BIRSA, 73): Thrown on to solidify Milan in the midfield. 3

ROBINHO (for KAKA, 81): Little chance to make an impact. 2