The Catalan club came out on top in a breathtaking 90 minutes against the Italian champions, with Xavi grabbing two goals to give his side an unassailable lead in Group H
The Catalan club took the lead in the 14th minute through the diminutive midfielder before Zlatan Ibrahimovic equalised seven minutes later. Lionel Messi's penalty gave the visitors the lead at the break yet a wonderful goal from Kevin-Prince Boateng on 54 minutes levelled the scoring once again. However, Xavi popped up to score what proved to be the winning goal in the 63rd minute.
Barcelona sit at the top of the group on 13 points while Milan five points behind last season's Champions League winners, with both teams having one game each to play.
After an uneventful opening period, Barcelona took the lead on 14 minutes with the first real attack of the game. Lionel Messi's clever ball found Seydou Keita in space inside the box before the Malian played a low cross which was bundled into his own net by Mark van Bommel, via a touch from Xavi.
Milan should have equalised in the 19th minute yet Robinho was guilty of a shocking miss. Ibrahimovic's cross into the box was then drilled into the direction of the unmarked Brazilian forward by Kevin-Prince Boateng who smashed it over the crossbar from close range.
However, the home team were level two minutes later, taking advantage of some slack Barcelona defending. Clarence Seedorf's clever pass bypassed the visitor's defence as Zlatan Ibrahimovic was allowed to slot the ball home from 10 yards out.
Pep Guardiola's men had a glorious chance to re-take the lead on 23 minutes yet it was Lionel Messi's turn to miss a glaring opportunity. Fabregas did well to work some space on the right side of the penalty area before sliding the ball to the Argentine who struck the top of the bar from three yards out.
Barcelona were awarded a penalty on the half hour mark when Alberto Aquilani was guilty of pulling down Messi in the box. The forward stepped up to put the ball in the far corner, beyond the outstretched hand of Christian Abbiati - the second time Messi had found the back of the net in a minute after the referee ordered a re-take.
The away team made the brighter start in the second period yet Milan found themselves level again on 54 minutes through a moment of brilliance from Boateng. The Ghanaian international seized on a loose ball on the edge of the box before sending Eric Abidal the wrong way with a clever touch using his heel. Faced one-on-one with Victor Valdes, the midfielder slammed the ball low past the goalkeeper from 12 yards out.
For the third time in the game, Guardiola's side were back in fron on 63 minutes with another beautifully taken goal. Fabregas and Messi linked up well before the Argentine slid a precise throughball to Xavi who calmly placed the ball into the bottom corner in what proved to be the winning goal of the game.
Both sides end their respective group stage campaigns on December 6 where Barcelona entertain BATE Borisov while Milan travel to Viktoria Plzen.
How do you stay up with football when on the move? With http://m.goal.com –your best source for mobile coverage of the beautiful game.