Barcelona, Borussia Dortmund, Atletico Madrid and Lazio all qualified for the knockout phase of the Champions League on Tuesday.
Manchester City bounced back from 2-0 down to beat RB Leipzig with both teams already qualified, while Paris Saint-Germain and Newcastle drew 1-1 and both need a result on matchday six to go through.
Atletico Madrid booked their place with a sumptuous volley from defender Mario Hermoso and two own goals firing them to a thrilling 3-1 win over Dutch champions Feyenoord.
That left Atletico with 11 points in Group E ahead of 10-point Lazio, who had a tense wait after playing earlier and needing a Feyenoord defeat to confirm their place.
Veteran Italian striker Ciro Immobile shot the Italian side into the last-16 in a 2-0 win over eliminated Celtic in Rome, leaving Feyenoord to join the Europa League.
In Group H, Barcelona came from behind to beat Porto 2-1 as Portuguese duo Joao Cancelo and Joao Felix both netted to turn the game on its head after Brazilian winger Pepe opened for Porto.
The Spanish champions now have 12 points while Porto are locked on nine alongside Shakhtar Donetsk, who beat Antwerp 1-0 in Hamburg.
Borussia Dortmund secured their spot in the last-16 with a 3-1 win at AC Milan, who are staring early elimination in the face.
There was late drama at the Parc des Princes when a 98th-minute Kylian Mbappe penalty earned PSG a 1-1 draw with Newcastle United.
It looked as though Newcastle were going to leave Paris with all three points in the Group F encounter thanks to Alexander Isak's 24th-minute opener.
PSG had run out of ideas by the time they were gifted an opportunity to salvage a draw in injury time when the VAR decided a Tino Livramento handball in the box was worthy of a penalty.
Mbappe made no mistake from the spot, and PSG hold onto second place in the group behind Borussia Dortmund. (AFP)