Liverpool surrendered a three-goal lead in the second half to shockingly draw 3-3 at Sevilla and miss a chance to advance in the Champions League on Tuesday.
A Sadio Mane goal was bookended by Roberto Firmino's brace as a rampant Liverpool stormed to a commanding 3-0 lead at half-time. But second-half goals from Wissam Ben Yedder and Guido Pizarro ensured a crushing result for the Premier League club, who would have qualified for the knockout stage with a win.
Despite trailing 3-0, Sevilla showed fight coming out of the break and had their persistence rewarded in the 51st minute when Ben Yedder headed past Loris Karius from an Ever Banega free kick.
Sevilla then earned a penalty on the hour mark after Alberto Moreno kicked Ben Yedder after a poor first touch from a back-pass. Ben Yedder's successful try from the spot was retaken due to encroachment, but he sent Karius the wrong way with his second attempt to cut Liverpool's advantage to just one goal.
And three minutes into stoppage time Liverpool's set piece woes again came into play as Pizarro bundled home from close range following a corner to send the home fans into hysterics.
In the other game in Group E, Spartak Moscow kept their hopes alive with a 1-1 draw with Maribor, who were eliminated.
Ze Luis scored for the Russian club in the 82nd minute, and though a win would have put major pressure on Liverpool and Sevilla, they could not hang on for all three points as Jasmin Mesanovic scored a stoppage-time equaliser.
Ahead of a trip to Anfield next month, Spartak are in third place and just two points back of Sevilla, who travel to Maribor. Liverpool have a one-point lead over Sevilla.
To advance, Liverpool will still need one point or for Sevilla to earn a point. The Reds hold the head-to-head tiebreaker over Sevilla but would not hold it over Spartak with a loss.
If all three teams finish on nine points -- Liverpool lose to Spartak and Sevilla draw at Maribor -- Spartak would win the group, Sevilla would be second, and Liverpool would head to the Europa League.
Cristiano Ronaldo and Karim Benzema each scored twice as Real Madrid cruised to a 6-0 win at Apoel to join Tottenham in advancing from Group H.
Luka Modric opened the scoring in the 23rd minute, smashing a volley from a poor Apoel clearance into the back of the net from 25 yards away.
Benzema netted his first after Toni Kroos played the French striker in with a fine through ball and he beat the hosts' goalkeeper at the far post.
Two minutes later Nacho poked home from close range following a corner kick, before Ronaldo unselfishly set Benzema up for an easy second goal on the night to send Madrid into the dressing room up 4-0.
And Ronaldo kept the onslaught going early in the second half heading home a Marcelo cross before chasing down a loose ball that had brought Apoel's keeper off the line and shooting first time from a difficult angle to give Madrid their fifth and sixth goals of the night.
But Real will not be seeded in the knockout stage as Tottenham came from behind to secure top spot in the group with a 2-1 victory at Borussia Dortmund, who were eliminated
Dortmund opened the scoring on the half-hour mark, with Andriy Yarmolenko slipping in Pierre-Emerick Aubameyang, who fired a low strike beyond Hugo Lloris.
Spurs found an equaliser shortly after the break when Harry Kane managed to pick out the bottom corner from the edge of the box after being found by Dele Alli.
And Tottenham turned the game on its head 15 minutes from the end with Son Heung-Min bending a strike into the top corner after some great work from Alli to pick him out.
Raheem Sterling scored two minutes from time to give Manchester City a 1-0 win at home against Feyenoord to seal their place atop Group F.
Having already qualified for the knockout stage, City put in a somewhat flat performance and it was the Dutch visitors who came closest to scoring in the second half when Steven Berghus forced Ederson to make a save from close range.
But with full-time approaching, Sterling delivered a fine finish for the winner after playing a one-two with Ilkay Gundogan, ensuring City will be seeded in the round of 16.
Meanwhile, Lorenzo Insigne's tremendous strike helped Napoli stay alive with a 3-0 win over Shakhtar Donetsk.
The Serie A leaders were facing the exit when Insigne stepped up in the 56th minute to deliver a marvelous curling strike from distance.
And the result was sealed in the 81st minute as Piotr Zielinski scored following a well-worked one-two with Dries Mertens, who then got a goal of his own by heading home from close range after goalkeeper Andriy Pyatov got a hand to Raul Albiol's initial attempt.
The result keeps Napoli within three points of their second-placed opponents heading into the final matchday, when Napoli travel to Feyenoord and Shakhtar host Man City.
Besiktas also advanced to the knockout stage for the first time in their history by managing a 1-1 draw with Porto on Tuesday.
Porto had taken the lead in the 29th minute when Felipe met Ricardo Pereira's low cross with a first-time shot in the middle of the box.
But the hosts responded before the break, as Cenk Tosun did well to get free on the wing and crossed for Anderson Talisca to score.
Ryan Babel shook the bar with a shot from distance in the second half, but the result was enough for Besiktas to become the first Turkish side to ever top a Champions League group.
Second-placed Porto are level on points but hold the tiebreaker over RB Leipzig, who eliminated Monaco with a 4-1 thrashing in the principality.
Leipzig took the lead in the sixth minute when Monaco defender Jemerson put the ball into his own net while trying to cut out Marcel Sabitzer's cross, and it was 2-0 three minutes later as Kevin Kampl forced a turnover and played in Timo Werner to score.
Werner added a second from a penalty after Falcao fouled Willi Orban, and though Falcao was able to redeem himself with a header, the German side responded almost immediately as Naby Keita received the top of the box, spun and fired into the net.