RB Leipzig 3 Real Madrid 2
Meanwhile, a memorable victory for Leipzig ensured Marco Rose's side will now advance on the final matchday if they avoid defeat at third-placed Shakhtar Donetsk, while Madrid - facing Celtic at home - will top the group if they match Leipzig's result. Josko Gvardiol and Christopher Nkunku struck in the opening 18 minutes before Vinicius Junior reduced the deficit, but Madrid struggled without Federico Valverde, Luka Modric and Karim Benzema.
Madrid so often produced late drama in last season's European success, yet Rodrygo's penalty was not enough to rescue a result as Leipzig substitute Timo Werner had already stretched the home lead further.
Benfica 4 Juventus 3
Massimiliano Allegri's team arrived at the Estadio da Luz requiring a win to stay in contention in Group C, but were distinctly second-best after Dusan Vlahovic cancelled out Antonio Silva's opener. Benfica stormed into a 3-1 lead by the halfway mark as Rafa added to Joao Mario's penalty with a glorious backheel, and the winger doubled up with another wonderful goal after the break.
Late efforts from Arkadiusz Milik and Weston McKennie ensured a grandstand finish, but it was too little, too late for Juventus as Roger Schmidt's men held firm to knock out Juve.
PSG 7 Maccabi Haifa 2
Lionel Messi and Kylian Mbappe scored twice as Paris Saint-Germain marched through to the knockout stages with a 7-2 win over Maccabi Haifa. Neymar was also on target to help Christophe Galtier's side book their place in the last-16 with a match to spare.
Sean Goldberg's own goal and a late Carlos Soler strike completed a commanding victory at Parc des Princes, where PSG remain unbeaten after 90 minutes since their 1-2 defeat by Manchester City in the 2020-21 semifinals.
Dortmund 0 Manchester City 0
Pep Guardiola's rode their luck at times and also wasted a glorious chance to claim victory at Signal Iduna Park, but they always knew a point would be enough to win Group G.
The away side looked brighter after Haaland's half-time withdrawal, but the Norwegian surely would have taken the penalty that Mahrez had saved; it had no bearing on City's main objective, however.