Six clubs secured spots in the draw for the first knockout round in their final group games, with Ajax and Inter Milan the big names to miss out
Holder Liverpool safely negotiated Tuesday's trip to Salzburg to take their place in the last 16 of this season's Uefa Champions League while Chelsea are also through, but Ajax suffered a shock group-stage exit.
Six clubs secured spots in the draw for the first knockout round in their final group games, with Ajax and Inter Milan the big names to miss out.
Jurgen Klopp's side just needed to draw in Austria to keep alive their bid to retain the European Cup, and they duly beat Salzburg 2-0 thanks to two goals in two second-half minutes, by Naby Keita and Mohamed Salah.
Keita headed in Sadio Mane's cross against his former club to put Liverpool ahead in the 57th minute, and Salah then rounded goalkeeper Cican Stankovic to score from an improbably tight angle.
The result allowed Liverpool to progress as Group E winner, with Napoli going through in second place, while Salzburg are out and drop into the Europa League instead.
Napoli made sure of their progress by trouncing Genk 4-0 in Italy with Arkadisuz Milik scoring a first-half hat-trick, the third goal coming from the penalty spot.
Dries Mertens converted another spot-kick in the second half to seal the win, but the Italian side still sacked coach Carlo Ancelotti in the wake of the game.
There was high drama in Group H as Valencia beat Ajax 1-0 in Amsterdam, Rodrigo Moreno's strike taking the Spaniards through to the last 16 at the expense of last season's semi-finalist, and leaving their host stunned.
Ajax had again been impressive this season but were left to rue their inability to win either of their two matches against Chelsea, as Frank Lampard's team progressed in second place, a point ahead of the Dutch giant, thanks to a 2-1 victory against Lille.
Tammy Abraham and Cesar Azpilicueta netted first-half goals for Chelsea, who held on after Loic Remy pulled one back for Lille.
Chelsea, the 2012 Champions League winner, finish level on points with Valencia but come second due to their inferior head-to-head record.
Ajax drop into the Europa League along with Inter, as Antonio Conte's team contrived to lose 2-1 at home to a makeshift Barcelona.
ℹ️ Final standings for E, F, G & H...— UEFA Champions League (@ChampionsLeague) December 10, 2019
🤔 Biggest surprise? pic.twitter.com/kCk9s43gK0
A win would have taken Inter through, and they were fancied to get the result they required as Barca left out a host of senior players, including Lionel Messi, with top spot in Group F already secured.
Carles Perez gave Barca the lead midway through the first half, but Romelu Lukaku fired in the equalizer.
Inter then missed chances to score a second and Ansu Fati showed them the way, the substitute netting an 86th-minute winner to stun the home side and become the youngest ever goalscorer in the Champions League at 17 years and 40 days.
That record had been held since 1997 by Ghana's Peter Ofori-Quaye.
Borussia Dortmund needed to better Inter's result and they did so, beating Slavia Prague 2-1 to progress in second.
Julian Brandt got their winner after Jadon Sancho's opener was cancelled out by Tomas Soucek, with Dortmund holding on after Julian Weigl was sent off.
⏰ RESULTS ⏰— UEFA Champions League (@ChampionsLeague) December 10, 2019
⏺️ Barcelona finish 1st; Dortmund reach last 16
⏺️ Valencia & Chelsea qualify from Group H
⏺️ Leipzig top Group G; Lyon finish second
🤔 Who impressed you today?#UCL
Meanwhile, Lyon went through in dramatic fashion in Group G, coming from behind to draw 2-2 with RB Leipzig.
The Germans were two goals ahead at half-time thanks to two penalties, one scored by Emil Forsberg and the other by Timo Werner.
However, Houssem Aouar's curler gave Lyon hope just after the break and Memphis Depay levelled matters with eight minutes left.
Leipzig win the group, while the draw proved enough for Lyon to finish second because Zenit Saint Petersburg lost 3-0 to Benfica in Lisbon.
Franco Cervi gave Benfica the lead before a Pizzi penalty and a Sardar Azmoun own goal, as the Portuguese side finish third.