Barcelona were under pressure after going two goals down in the first leg, but Messi stepped up for the big ocassion and opened the scoring within the opening five minutes. Messi played one-touch with Xavi before smashing a left-footed shot to the top corner, leaving goalkeeper Cristian Abbiati flat-footed.
Barcelona continued to press forward and control possession with the second goal inevitable. Five minutes from half-time Andres Iniesta stole the ball from Massimo Ambrosini and fed Messi on the edge of the area. The Argentine turned and shot through the legs of defender Philippe Mexes and out of Abbiati's reach.
Messi was not involved in the third goal which would eventually send them through to qualify. David Villa made a surprise start but was quiet until he received a through ball from Xavi and calmly finished with his left foot.
It could have all gone wrong when Javier Mascherano missed a clearance header which set of Mbaye Niang, but the youngsters shot hit the post and that was Milan's best chance of the night.
Jordi Alba added a fourth to seal qualification following a quick counter attack.
Schalke 2-3 Galatasaray (3-4 agg)
Galatasaray went through to the next round after comfortably beating Schalke 3-2 with goals from Hamit Altintop, Burak Yilmaz and Umut Bulut.
The German side took the through Roman Neustadler, but their former player Altintop scored a spectacular equaliser from long range and the Turkish side doubled their lead before half-time with composed finish from Yilmaz.
Michel Bastos got one back for the home side, but Schalke needed one more as Galatasaray scored more away goals. There was no comeback for the German side as Umut Bulut scored another during injury-time.