Manchester City held on to beat Leipzig 3-2 in a demanding away match, with an own goal from Castello Lukeba and a 78th-minute finish from Erling Haaland deciding the contest.
The visitors created several promising chances but were unable to turn most of them into goals. Leipzig also threatened regularly, making for an open game before Manchester City secured all three points.
Cherki sent an early low effort wide before Antonio Nusa cut inside and forced Gianluigi Donnarumma to tip his shot over the bar. Christoph Baumgartner was booked in the 17th minute, shortly before David Raum made a late run into the area and saw his effort blocked.
Baumgartner then curled a shot wide, while Phil Foden missed the target with a similar attempt for Manchester City. The visitors went ahead in the 37th minute when Lukeba turned the ball into his own net.
The match included further notable moments before half-time, including a close-up of Haaland, while Baumgartner tested Donnarumma again early in the second half. The goalkeeper responded with a diving save to keep out the Leipzig midfielder’s fierce strike.
Leipzig equalised in the 49th minute when Ridle Baku scored from a tight angle. Ezechiel Banzuzi then shot wide, while the home side appealed for a foul after Donnarumma spilled the ball.
Manchester City restored their lead in the 58th minute. Enzo rose to score with a powerful header, but Leipzig levelled once more three minutes later when Nusa finished a low shot after a clever pass from Christopher Nkunku.
Cherki had an effort blocked in the 76th minute, but Manchester City found the decisive goal two minutes later. Haaland reached the ball and completed a sliding finish to put the visitors 3-2 ahead.
Leipzig continued to push for another equaliser. Cherki struck the crossbar in the 84th minute, and Kovac went down in the box a minute later without the referee awarding a penalty. Leipzig appeared to score again in the 88th minute, but the goal was ruled out for offside.
Leipzig began with Orban, David Raum, Ridle Baku, Christoph Baumgartner, Maarten Vandevoordt, Neil El Aynaoui, Castello Lukeba, Antonio Nusa, Ezechiel Banzuzi, Brajan Gruda and Romulo. Their substitutes were Nyland, Klostermann, Henrichs, Nkunku, Nicolas Seiwald, Maxime Esteve, Johan Bakayoko, Rocco Reitz, Tidiam Gomis, Andrija Maksimovic and Abdoul Kone.
Manchester City’s starting XI was Donnarumma, Elliot Anderson, Haaland, Foden, Guehi, Matheus Nunes, Cherki, Iliman Ndiaye, Enzo, Nico O’Reilly and Abdukodir Khusanov. Their substitutes were Geronimo Rulli, Kovacic, Bettinelli, Ruben Dias, Rayan Ait-Nouri, Doku, Gvardiol, Lewis, Allan, Ayyoub Bouaddi, Vitor Reis and Floyd Samba. Both teams observed a moment of silence before kick-off.