Julian Alvarez scored a late winner as Manchester City fought back from two goals down to beat RB Leipzig and finish top of Champions League Group G.
Lois Openda scored twice in the first half for the visitors to leave City, who had been sloppy, facing an uphill battle.
But City were much-improved after the break and Erling Haaland reduced the deficit for the hosts, coolly turning home inside the box after connecting with a well-timed Phil Foden pass.
Foden then poked past Janis Blaswich to restore parity for City after Josko Gvardiol directed a quickly taken free kick into his path.
On-loan Liverpool forward Fabio Carvalho, on as a substitute, thought he had restored Leipzig’s lead but had a goal disallowed for offside.
Alvarez sealed the comeback win for Pep Guardiola’s side in the 87th minute, tapping in after an intricate passing move.