Karim Benzema sent Real Madrid through to the last 16 of the Champions League on Wednesday alongside its rival Atletico, while Neymar scored a hat-trick as Paris Saint-Germain beat Istanbul Basaksehir in a match that had been delayed for 24 hours over a racism row.
Real needed to beat Borussia Monchengladbach to be sure of making it through the group stage of the Champions League for a 24th straight year and Benzema eased the pressure on coach Zinedine Zidane with two fine back-post headers in the first half to secure a 2-0 win.
It was a result that suited both teams, with a 0-0 draw between Inter Milan and Shakhtar Donetsk allowing Real to top Group B and Gladbach, former European Cup runner-up, to go through as runner-up.
Atletico needed to beat Red Bull Salzburg to qualify as runner-up in Group A behind Bayern Munich, and it did so with Mario Hermoso and Yannick Carrasco scoring in a 2-0 victory.
Reigning champion Bayern completed the group stage unbeaten with a 2-0 win over Lokomotiv Moscow.
The other team to clinch qualification on Wednesday was Atalanta, whose 1-0 win away to Ajax, thanks to Luis Muriel, secured second place in Group D behind Liverpool.
PSG had wrapped up its qualification for the last 16 on Tuesday thanks to Manchester United’s defeat at RB Leipzig, despite its own game being suspended after an unprecedented walkout over a racist remark.
With a new set of officials, the game restarted in the 14th minute on Wednesday and an irresistible Neymar scored a hat-trick while also winning a penalty converted by Kylian Mbappe.
The draw for the last 16 is on Monday.
The qualifiers: Group winners: Bayern Munich, Real Madrid, Manchester City, Liverpool, Chelsea, Borussia Dortmund, Juventus, and Paris Saint-Germain.
Runners-up: Atletico Madrid, Borussia Monchengladbach, FC Porto, Atalanta, Sevilla, Lazio, Barcelona, and RB Leipzig.
Group A: Bayern Munich 2 (Suele 63, Choupo-Moting 80) bt Lokomotiv Moscow 0; Salzburg 0 lost to Atletico Madrid 2 (Hermoso 39, Carrasco 86).
Group B: Inter Milan 0 drew with Shakhtar Donetsk 0; Real Madrid 2 (Benzema 9, 32) bt Borussia Monchengladbach 0.
Group C: Olympiakos 0 lost to Porto 2 (Otavio 10-pen, Uribe 77); Manchester City 3 (Torres 48, Aguero 77, Sterling 90) bt Marseille 0.
Group D: Ajax 0 lost to Atalanta 1 (Muriel 85); Midtjylland 1 (Scholz 62-pen) drew with Liverpool 1 (Salah 1).
Group H: Paris Saint-Germain 5 (Neymar 21, 38, 50, Mbappe 42-pen, 62) bt Istanbul Basaksehir 1 (Topal 57).