Manchester City produced a stunning comeback to beat defending champions Bayern Munich 3-2 at the Allianz Arena.
Manuel Pellegrini's men trailed 2-0 inside 12 minutes to goals from Thomas Muller and Mario Gotze - but goals from David Silva, Aleksandar Kolarov (penalty) and James Milner enabled City to come from behind and win this Group D clash.
The other group game saw super-sub Tomas Wagner score a last-minute winner to fire Viktoria Plzen into the Europa League on the back of a shock 2-1 win over nine-man CSKA Moscow.
It had been a campaign to forget for Plzen, who were pointless heading into the game, but they knew that victory would be enough to see them pip CSKA to third place on their head-to-head record.
The Czechs were determined to score in the first half but the honour fell to Moscow's Ahmed Musa shortly after the break. The game then swung on Alan Dzagoev's dismissal for violent conduct and Daniel Kolar promptly equalised to put Plzen back on course towards taking a first point.
All three would stay at the Doosan Arena, though, with Wagner rifling in a late strike before Pontus Wernbloom compounded CSKA's misery by getting himself sent off.
Real Madrid put the seal on a fine group-stage campaign as they won 2-0 at FC Copenhagen on Tuesday - even if Cristiano Ronaldo did miss a penalty in the process.
Carlo Ancelotti's men have topped Group B by some distance and finish with 16 points from 18 after a record-breaking night.
Luka Modric's fine opener was the 31st successive European game in which they have scored, setting a new competition record, before Ronaldo made it safe after the break.
The Ballon D'Or hopeful had a chance to make it two late on from the spot but those in the Danish capital were stunned as the normally-faultless frontman's effort was saved.
The abandoned Champions League match between Galatasaray and Juventus will resume at midday on Wednesday after a severe hailstorm interrupted the winner-takes-all encounter in Istanbul.
The Italian champions needed to avoid defeat at the Turk Telecom Arena on Tuesday night to book second place in Group B and progression to the knockout stages, while a Galatasaray victory would have seen Roberto Mancini's men safely through to the last 16 alongside Real Madrid.
Snow and hail began to seriously affect play after about 20 minutes and the game was ultimately suspended in the 33rd minute following discussions between UEFA delegates, Pedro Proenca's refereeing team and both sets of players.
Benfica rallied to end Paris St Germain's perfect record in this year's Champions League but it was not enough to secure their place in the knockout phase.
A Rodrigo Lima penalty and Nicolas Gaitan goal saw Benfica bounce back from Edinson Cavani's opener to seal a 2-1 win, but they were left waiting on Olympiacos' result against Anderlecht, and Javier Saviola pleased his current paymasters but irked his old ones as his brace made sure the Greeks did not pay the penalty.
Saviola scored twice and missed a spot kick as Olympiacos beat eight-man Anderlecht 3-1 in Group C, with Vladimir Weiss also failing with a penalty before Alejandro Dominguez made it third time lucky from 12 yards in the last minute.
Omer Toprak fired Bayer Leverkusen into the knock-out stages as his second-half goal was enough to claim a 1-0 win at Real Socieded.
Toprak muscled onto a corner four minutes after half-time before blasting in a goal that proved decisive after Shakhtar Donetsk lost 1-0 at Manchester United through Phil Jones' second-half strike.
That was enough to send Sami Hyypia's side up into second place in Group A and into the last 16.