Juventus booked their place in the second phase of the Champions League after a convincing 3-1 win over Porto in Group E in Turin last night.
Porto took the lead in the 13th minute when Brazilian Clayton Cruz fired in a free-kick from wide on the right which skimmed through a crowded penalty area and into the bottom corner.
Juventus drew level in the 32nd minute through a trademark free-kick from Alessandro Del Piero which curled into the top right-hand corner of Sergey Ovchinnikov's goal.
Uruguayan defender Paolo Montero put Juve ahead two minutes after the restart, heading home a Del Piero corner, before French striker David Trezeguet wrapped the game up, tapping home after Pavel Nedved had robbed Porto defender Hugo Ibbara on the edge of the area.
Deportivo La Coruna got the point they needed to secure qualification for the second phase with an untidy 1-1 draw at home to Lille in Group G.
A Diego Tristan penalty in the 13th minute set the Spanish side on their way but a handball from Hector seven minutes later returned the favour and Bruno Cheyrou levelled the scores from the resulting spot kick.
Two goals from Paraguyan striker Roque Santa Cruz helped Bayern Munich cruise through to the second stage with a 3-1 win over Feyenoord at the Olympic Stadium.
The defending European champions needed just a draw from their penultimate Group H match to become certain of surviving the first phase of the competition.
Feyenoord, who had to win to keep their faint chances alive, have picked up just two points from five games.
Sparta Prague scored in the third minute of injury-time to grab a 2-2 draw with Spartak Moscow in their Group H match and deny the Russians a possible foothold in the UEFA Cup.
Three counter-attacks and a stoppage-time goal were enough for Barcelona to win 3-2 at Olympique Lyon and qualify for the second phase.
Lyon fought back from two goals down and drew level with two minutes left through Eric Carriere.
But Barca substitute Gerard stole victory in injury-time as Lyon goalkeeper Gregory Coupet had joined his teammates up front.
Bayer Leverkusen made sure of their place in the last 16 when they beat Fenerbahce 2-1 in a scrappy Group F match.
The Germans started nervously, but took control after going ahead through Bernd Schneider after 21 minutes. Ulf Kirsten made it 2-0 after 34 minutes.
Oktay Derelioglu headed Fenerbahce back into the match five minutes before the interval.