Liverpool have overcome a slow start to beat hosts Ajax Amsterdam 3-0, ensuring a top-two finish in Group A and progress into the knockout stage of the Champions League.
Mohamed Salah put Liverpool ahead against the run of play three minutes before halftime and they then took command after the break, with two quick goals from Darwin Nunez and Harvey Elliott, to claim a convincing triumph.
The victory kept them three points behind leaders Napoli, who won 3-0 at home over Rangers to take maximum points from their five group games.
Napoli now visit Anfield to decide top place, with Liverpool needing at least a 3-0 win to edge the Serie A leaders on the head-to-head, after losing 4-1 in September.
Ajax needed to win by two goals to keep up their slim Champions League hopes, but will now battle with Rangers at Glasgow for a Europa League spot.
The Dutch side have three points, while Rangers are yet to open their account.
Steven Berghuis crashed an early effort against the upright, as Ajax began in lively fashion and with an unexpectedly physical approach that unsettled Liverpool's defence and ensured some edgy exchanges between the players.
The game turned suddenly and firmly, in Liverpool's favour, when skipper Jordan Henderson's outstanding pass, delivered with the outside of his boot, was met with an equally proficient finish from Salah, who lofted the ball expertly over Ajax goalkeeper Remko Pasveer, as he rushed out of goal.
The score might have been 2-0 within 120 seconds, as Nunez squandered an easy tap-in at the backpost, after an unselfish pass from Roberto Firmino, striking his effort against the upright.
Nunez made amends four minutes into the second half with a strong glancing header from a corner and the contest was over two minutes later, when Elliot scored.
He thrashed a powerful shot into the roof of the net from an acute angle, after being set up by a perfectly-weighted pass from Salah.
"We had a tough half an hour, where Ajax made a lot of pressure and we needed to defend with a lot of passion," said Liverpool manager Jurgen Klopp. "You have to get through these phases.
"Then we scored a goal, which was absolutely exceptional. Second half, we really had a good start, scored two wonderful goals and then controlled the game really well.
"We are through to the knockout stages and I will never take that for granted."
Meanwhile, Tottenham Hotspur midfielder Rodrigo Bentancur's late header has salvaged a 1-1 draw against Sporting to keep the London side in control of Group D, but it could have been even better, as Harry Kane's late effort was disallowed.
Victory for Spurs would have booked their place in the last 16 with a game to spare and they thought they had sealed it with almost the last kick of the game, when Kane fired in from close range, after Emerson Royal's header across goal.
Wild celebrations turned to frustration, as a video check that lasted several minutes ruled the goal out for offside, prompting a furious reaction from Spurs manager Antonio Conte, who was shown a red card in chaotic scenes.
"I thought, because it went backwards and hit a defender, it was a different phase of play," said Tottenham's Matt Doherty.
"I'll have to look at the rule book. A few of us don't have a clue what happened."
The result left Tottenham top of a desperately tight group on eight points, with Sporting and Eintracht Frankfurt, who beat Olympique de Marseille, on seven. Marseille have six points.
Spurs will qualify for the last 16, if they avoid defeat in Marseille next, while Sporting host Frankfurt also needing a point to guarantee a place in the knockout stage.
Sporting were by far the better team in the first half and took the lead in the 22nd minute through former Spurs player Marcus Edwards.
Tottenham were vastly improved after the break and peppered the Sporting goal in their search for an equaliser, with keeper Antonio Adan making several saves to preserve his side's lead.
Sporting substitute Flavio Nazinho spurned two great opportunities to make the points safe - the second an open goal - and in the 80th minute, those misses looked even more costly, as Tottenham levelled.
Ivan Perisic swung in a corner and midfielder Bentancur rose highest to head powerfully past Adan.
More drama to still to come, with Spurs keeper Hugo Lloris forced into a great save to deny substitute Fatawu Issahaku, before Kane's disallowed effort meant Sporting finished the game well in the hunt for a last-16 spot.
Reuters