Barcelona looked slightly off from the beginning, misplacing passes slightly more often than usual, and that meant AC Milan had their fair share of play in the first half. Indeed, it was the hosts who had the better of the the chances, often catching the Blaugrana fullbacks upfield and looking to play diagonals in behind them.
It was one of those passes that led to the first half's best chance, with Kevin-Prince Boateng linking up with Stephan El-Shaarawy to release the young striker behind the visitors' lines. It looked as though he would at least test Victor Valdes, but a poor touch meant the ball got away from him and allowed Carles Puyol to poke behind from a corner.
The Milan threat wasn't over just yet, though, and Boateng fired inches wide from a low cross as the hosts showed that they had teeth. They had defensive steel as well, with the midfield doing very well to break up Barcelona's flow through the centre. The visitors weren't helping themselves with turgid, uninspired passing that failed to trouble the Milan back line -- their only meaningful effort in the opening half was a Xavi long-ranger which Christian Abbiati caught comfortably.
Things went from bad to worse for Barca just before the hour mark.Dani Alves' foul on El-Shaarawy looked relatively innocuous, but the free kick led to the supremely impressive Riccardo Montolivo blasting a shot goalward. Jordi Alba managed to get his head in the way -- somehow avoiding decapitation in the process -- and deflected the effort straight into Christian Zapata's outstretched arms.
The visitors stopped play, assuming a handball call was imminent, but no call came and that left Boateng with the time he needed to react to the loose ball and slot calmly into the bottom corner. Barcelona were unsurprisingly displeased by this turn of events, with Gerard Pique picking up a yellow card for dissent in the aftermath of the goal, but despite the bizarre conditions in which it came, Boateng's strike was exactly what the match needed.
The Blaugrana immediately tried to up the tempo, throwing Alexis Sanchez on for the ineffective Cesc Fabregas. It didn't help much, and by the time the 75th minute rolled around the visitors still had just the one shot on target. Andres Iniesta came close to making it two -- and notching the equalizer as well -- with a well-struck effort from outside the box which beat Abbiati but drifted wide of the far post, but they still weren't creating anything against a Milan defense that wasn't even having to work very hard.
And just after a Xavi free kick floated harmlessly over the net, Milan struck again. M'baye Niang, on as a substitute for Giampaulo Pazzini, beat Puyol in the box and worked the ball to El-Shaarawy. The 20-year-old drew out the rest of the defense and dinked a delightful ball to the onrushing Sulley Muntari, and the Ghanaian slammed his first-time shot past Valdes to make it 2-0 81 minutes in.
It was no less than the hosts deserved for a superb display, although they were made to hold on as the visitors buzzed furiously forward in search of an away goal that would make the tie manageable. Puyol came close to making up for his error on the second goal, but directed a free header wide on a corner. Five minutes of injury time came and went with no real chances.
A 2-0 away loss is the worst single result Barcelona have suffered in recent Champions League history. It seems almost absurd that their five-year run of making at least the semifinals would end at Milan's hands, but there's every chance of that happening now.