Scorers: Inzaghi 25, 87 (M), Diarra 31 (L), Shevchenko 93 (M)
Milan swept through to the Champions League semi-finals in the most dramatic of fashions, as Pippo Inzaghi and Andriy Shevchenko sealed a stoppage-time 3-1 win!
The Rossoneri knew they needed to win this match after drawing the first leg 0-0 in France, but Gerard Houllier's men were still unbeaten going into this game. Pippo Inzaghi and Jaap Stam came into the starting line-up, while Lyon welcomed back midfield maestro Juninho Pernambucano - the man Andrea Pirlo studied for his set-piece technique - from suspension.
Inzaghi's scuffed shot was off target under pressure from Cris after 11 minutes, but Serginho's error handed the ball to Sidney Govou and he fired over the bar from 20 metres.
Soon after, Inzaghi prodded a Serginho cross wide of the near post, but there was panic in the Milan area when the ball bobbled in front of Dida and he completely miskicked his clearance. Thankfully for the Brazilian goalkeeper, Sylvain Wiltord couldn't make the most of it.
Milan again handed Lyon a glorious opportunity when Dida rushed out to close down Fred, but Malouda placed his lob onto the roof of a totally empty net.
Juninho tested Dida with one of his fierce free kicks at the near post, the Brazilian punching it away as it dipped.
Stam, who was making his return from injury, fell awkwardly on his left ankle and had to be replaced by Alessandro Costacurta.
Milan got away with their errors, but Lyon were punished at their first. Shevchenko won back the ball on the edge of the area and set Clarence Seedorf running down the left flank for Inzaghi's header into the bottom far corner of the net.
A strong counter-attack from Serginho and Kaka was closed down by a mass of Lyon bodies swarming around the Brazilian and Pirlo. Lyon went on a break of their own and Gennaro Gattuso was booked for a tactical foul.
However, Dida was again uncertain and Lyon equalised. The goalkeeper clattered into a sea of bodies as he came out to get Juninho's free kick and Mahamadou Diarra was able to rise above the crowd and head into an empty net.
Seedorf's snapshot was just wide of the near post from outside the area, as Milan knew they needed to win in order to qualify for the semi-finals.
Govou's hopeful effort was well wide, then a Juninho cross-shot was slapped out from under the crossbar by Dida.
From the resulting corner kick, Fred was left totally unmarked and turned his free header on to the upright with Dida immobile and the defence static.
Shevchenko prodded a Serginho cross right into the path of Gregory Coupet and Diarra performed a crucial tackle on Kaka inside the area.
There was controversy just before the break, as Cris kicked out at Inzaghi when both were on the floor, but it was only the Milan man who was booked for his reaction.
After the restart, Alessandro Nesta's header from a Pirlo free kick was off target.
Pirlo tripped Juninho Pernambucano just outside the area, but the set-piece specialist couldn't beat the defensive wall. There are suggestions it struck Pirlo's arm, but it was in front of his face.
Shevchenko went off on the counter-attack down the right flank, but was closed down from passing to Inzaghi and instead aimed a hopeful shot over the bar from a tight angle.
Dida was surprised by a fierce Abidal snapshot and couldn't stop it going out for a corner kick, although he probably should've done better in this incident.
Milan put together a fine team move with kaka and Serginho combining before Coupet palmed a Serginho shot wide of the near post.
Wiltord fired a powerful but inaccurate effort wide of the target, but the Rossoneri were improving and Clerc took Gattuso's cross off the head of Shevchenko. As the move continues, Seedorf drilled inches wide of the near post.
Costacurta needed an acrobatic clearance to prevent Govou from scoring from seven yards, then Cacapa nodded a corner kick wide.
Lyon sliced up the defence down Serginho's flank and Nesta had to clear from Govou in the centre. Ex-Roma forward John Carew replaced Fred and Massimo Ambrosini surprisingly took over from a quiet Pirlo, switching Seedorf to the playmaker role.
Serginho went on a slalom through five Lyon players, but the move couldn't be finalised.
The San Siro collectively held its breath on the resulting corner kick, as Coupet was beaten by a Kaka header and Wiltord's goalline clearance was only just in time to stop the ball completely crossing over.
Ancelotti made another unusual tactical choice for his final substitution, replacing Gattuso with Paolo Maldini and moving Serginho further up the field.
Coupet rushed out to capture a Kaka cross before it could reach Inzaghi and Shevchenko in the centre.
Less than three minutes from time, Milan restored their lead with an improbably dramatic goal. Shevchenko's angled drive took a touch off Coupet and managed to come off the inside of the far post, roll all the way across and thump the other upright as well. It seemed to be going out, but Inzaghi tapped in from a yard.
There were four minutes of stoppages at the San Siro and Milan put the final nail in Olympique Lyonnais' coffin with 100 seconds to go. Shevchenko was more alert than anyone to pounce on a wayward backpass and slot past Coupet from the tightest of angles.
Milan: Dida; Stam (Costacurta 24), Nesta, Kaladze, Serginho; Gattuso (Maldini 77), Pirlo (Ambrosini 71), Seedorf; Kakà; Shevchenko, Inzaghi
Lyon: Coupet; Clerc, Cris, Caçapa, Abidal; Govou (Reveillere 82), Diarra, Juninho; Wiltord, Fred (Carew 71), Malouda
Ref: Hauge (Nor)
Hmhm sreća ili znanje? Jedini od svih klubova koji je u zadnje 4 godine bio 4 puta u četvrtfinalu,sreća?,čisto sumnjam prije znanje.Jer da je sreće onda bi osvojili LP prošle godine. A sada Barca,najteži od svih protivnika.