Chelsea and Arsenal progressed to the last 16 of the Champions League, with both clubs winning on Wednesday night.
Olivier Giroud scored a hat trick as Arsenal ensured their place in the knockout stages with an emphatic 3-0 victory at Greek champions Olympiakos.
The France international ensured the Gunners' tough start to the group stage -- which saw them lose their first two games -- was put behind them.
He gave them the lead at the break with a header that squirmed past goalkeeper Roberto before doubling the lead soon after the interval following superb control and a sharp pass from Joel Campbell.
And Giroud then coolly wrapped up the victory from the penalty spot after a handball to steer Arsene Wenger's side through.
Chelsea beat Porto 2-0 to secure their passage into the round of 16 as Group G winners and boost manager Jose Mourinho.
The Blues took the lead in the 12th minute -- but they needed a big stroke of luck to do so. Diego Costa went through on goal, and when Iker Casillas saved his shot the ball rebounded off Ivan Marcano and Porto could not prevent it from crossing the line.
Willian blazed wide early in the second half but got Chelsea's second goal in the 53rd minute when Eden Hazard played him in to shoot past Casillas from the edge of the area.
Gary Neville's first game in charge at Valencia began promisingly but ended in frustration as they lost 2-0 at home to Lyon.
The former Manchester United defender saw his side fall behind after 37 minutes when Maxwel Cornet took advantage as Valencia backtracked, curling the ball high into the corner.
And Lyon, with only one Champions League point to their name this season, doubled their advantage inside the last 15 minutes when Alexandre Lacazette rounded off a sharp counter-attack to condemn Neville to defeat.
Gent became the first Belgian club to appear in the knockout stages of the Champions League for 15 years after beating Group H winners Zenit St Petersburg 2-1 in a dramatic encounter.
It took Gent 18 minutes to break through as Moses Simon crossed for Laurent Depoitre, who produced a superb finish into the corner.
Zenit were back on terms after the break when midfielder Sven Kums miscued a clearance and Artem Dzyuba took advantage to score his sixth Champions League goal of the season. But Simon again turned provider with a little over 10 minutes remaining and Danijel Milicevic thumped his effort home .
Bayer Leverkusen fell just short of sealing their qualification from the group stages as they drew 1-1 with Barcelona at the BayArena.
The visitors went in front after 20 minutes when Ivan Rakitic played a perfect through ball to Lionel Messi, who rounded Bernd Leno and slid his finish home.
But the lead lasted for only three minutes, with the Bundesliga side finding an almost instant answer when Javier Hernandez scored his 11th goal in 12 games after neat build-up play gave Admir Mehmedi the chance to cross from the left.
Leveruksen had chances in the second half, Karim Bellarabi denied by Marc-Andre ter Stegen when clean through, but were unable to find the second goal that would have put them through and have to settle for a place in the Europa League.
Bayern Munich cruised to a 2-0 victory at Dinamo Zagreb, with lethal striker Robert Lewandowski again the man who made the difference.
After a goalless first half, the Poland international struck twice in as many minutes, heading home a fine Thomas Muller cross and then lifting the ball over goalkeeper Eduardo from Sebastian Rode's through pass.
The result means Bayern top Group F by six points while Dinamo finish third.
Dynamo Kiev reached the knockout phase for the first time since the 1999-2000 season after getting the win they needed, 1-0 at home to Maccabi Tel Aviv.
The Ukrainian side finished second behind Chelsea in Group D thanks to Denys Garmash, who pounced on the rebound when Serhiy Rybalka's deflected free-kick was stopped by Predrag Rajkovic.
Roma secured their place in the knockout stages after a 0-0 Group E draw with BATE Borisov -- the night's only game without a goal.
Home side Roma created the bulk of the opportunities but were almost made to pay for their failure to take them when goalkeeper Wojciech Szczesny was forced into a late save.