The match of the night came at Signal Iduna Park where the returning Marco Reus inspired Borussia Dortmund to an exciting 8-4 victory over Legia Warsaw - the highest-scoring aggregate Champions League score.
Fit-again Reus bagged a hat-trick, Shinji Kagawa netted a brace and further goals from Nuri Sahin, Ousmane Dembele and Felix Passlack created a remarkable game.
Aleksandar Prijovic scored twice for the visitors, including the opener before Dortmund hit back with three goals in as many minutes, while Michal Kucharczyk and Nemanja Nikolic also found the net.
Karim Benzema netted a late winner as Real Madrid qualified with a 2-1 win over Sporting Lisbon at the Estadio Jose Alvalade.
Benzema cropped up in the 87th minute to kill off Sporting who, despite having Joao Pereira sent off, had cancelled out Raphael Varane's opener through Adrien Silva's penalty.
Record-signing Gareth Bale went off with an ankle injury, just 11 days ahead of their Clasico clash with Barcelona.
Leonardo Bonucci and Mario Mandzukic netted late goals to give Juventus a 3-1 victory over Sevilla and seal qualification at the Ramon Sanchez Pizjuan.
Nicolas Pareja volleyed the home side ahead early on but, after Franco Vazquez was sent off, Juventus responded through Claudio Marchisio, Bonucci and Mandzukic.
Sevilla sit three points clear of third-placed Lyon, who won 1-0 away at Dinamo Zagreb thanks to Alexandre Lacazette's 72nd-minute effort.
Premier League champions Leiceste secured their progression with a fourth win in five Group G matches thanks to goals from Shinji Okazaki and Riyad Mahrez.
Okazaki fired in a fifth-minute opener on the half-volley before Mahrez netted from the penalty spot after Dion Cools fouled Marc Albrighton at the King Power Stadium.
Despite Jose Izquierdo pulling a second-half goal back for Brugge, Leicester held on for a 2-1 triumph to go through as group winners after Porto drew 0-0 with FC Copenhagen.
Tottenham's hopes of joining Leicester in the next round were ended by a 2-1 loss to Monaco in at Stade Louis II.
Boosted by CSKA Moscow's late equaliser against Bayer Leverkusen in the early game, Spurs could not take advantage as goals from Djibril Sidibe and Thomas Lemar condemned them to a third Group E defeat in five games.
Harry Kane gave Spurs hope, cancelling out Sidibe's opener from the penalty spot after Hugo Lloris had saved a first-half penalty from Radamel Falcao, but Lemar netted the winner just a minute later.
The loss leaves Spurs three points behind second-placed Leverkusen, who have qualified with a better head-to-head record, and they now need to draw against CSKA Moscow to secure Europa League football.
Leverkusen appeared to be sealing their place in the knockout stages before Spurs kicked off following Kevin Volland's first-half opener, only for CSKA Moscow to equalise from the penalty spot through Bebras Natcho with 14 minutes remaining.