Substitutes Julian Alvarez and Jeremy Doku scored late goals as Manchester City recovered from back-to-back defeats to beat Leipzig in the Champions League.
Defending champions City, who came into the game on the back of losses to Newcastle in the Carabao Cup and Wolves in the Premier League, looked in complete control in the first half.
Phil Foden gave them a deserved lead with a difficult shot on the bounce following a cutback by Rico Lewis, who impressed in a central midfield role.
Leipzig scored with their only shot on target, as Lois Openda raced onto a through ball before slotting the ball past Ederson via the inside of the post.
But it was all City from then with Foden hitting the post with a free-kick and Erling Haaland missing a host of chances.
Five minutes after coming off the bench, Alvarez lifted a perfectly weighted shot into the top corner from the edge of the box following a pass by Doku.
The Argentine then found Doku in space and he sped away to score a late third and seal the points.
City have now equalled the longest European unbeaten run by an English club – level on 16 with Leeds (1967-1968), Tottenham (1967-1972), Chelsea (2018-2019) and West Ham, whose run started last year and is still going too.
They will be relieved to get back to winning ways as they prepare to visit title rivals Arsenal on Sunday.
Substitutes help City get over the line
City looked unbeatable in the opening weeks of the season as they started to build on last season’s Champions League, Premier League and FA Cup haul.
The vibe was slightly different coming into this. Had they gone three games without a win, something that never happened in that Treble season, Sunday’s Premier League game against Arsenal would feel even bigger.
But Guardiola’s subs saved the day.
Haaland had a frustrating night against his favourite opponents. The Norway superstar had scored 11 goals in his previous six appearances against Leipzig, including five in City’s 7-0 win in March, but failed to find the net with six efforts at the Red Bull Arena.
But often when Haaland doesn’t deliver, Alvarez does. He only had six touches – but two of them produced goals.
He scored an absolute beauty himself and then returned the favour to Doku who ran through to net his first Champions League goal.
This also marked City’s first win in Leipzig. The clubs have now met in three consecutive Champions League seasons, with Leipzig winning and drawing the others.
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key = Give it up = Pure perfection
RB Leipzig
-
Squad number21Player nameBlaswich
-
Squad number2Player nameSimakan
-
Squad number16Player nameKlostermann
-
Squad number23Player nameLukeba
-
Squad number22Player nameRaum
-
Squad number13Player nameSeiwald
-
Squad number24Player nameSchlager
-
Squad number10Player nameForsberg
-
Squad number9Player namePoulsen
-
Squad number20Player nameSimons
-
Squad number17Player nameOpenda
-
Squad number8Player nameHaidara
-
Squad number11Player nameWerner
-
Squad number14Player nameBaumgartner
-
Squad number30Player nameSesko
Manchester City
-
Squad number6Player nameAké
-
Squad number11Player nameDoku
-
Squad number19Player nameÁlvarez
-
Squad number27Player nameMatheus Nunes
Line-ups
RB Leipzig
Formation 4-2-3-1
- 21Blaswich
- 2Simakan
- 16Klostermann
- 23Lukeba
- 22RaumBooked at 78mins
- 13SeiwaldSubstituted forHaidaraat 85′minutes
- 24SchlagerBooked at 72mins
- 10ForsbergSubstituted forSeskoat 70′minutes
- 9PoulsenSubstituted forBaumgartnerat 75′minutes
- 20Simons
- 17OpendaSubstituted forWernerat 70′minutes
Substitutes
- 1Gulácsi
- 3Lenz
- 8Haidara
- 11Werner
- 14Baumgartner
- 18Carvalho
- 30Sesko
- 44Kampl
Man City
Formation 3-2-4-1
- 31Ederson
- 2Walker
- 24Gvardiol
- 3Rúben Dias
- 82Lewis
- 47FodenSubstituted forÁlvarezat 79′minutes
- 25AkanjiBooked at 65minsSubstituted forDokuat 72′minutes
- 16Rodri
- 10GrealishSubstituted forAkéat 72′minutes
- 20Bernardo SilvaSubstituted forNunesat 87′minutes
- 9Haaland
Substitutes
- 4Phillips
- 5Stones
- 6Aké
- 8Kovacic
- 11Doku
- 18Ortega
- 19Álvarez
- 21Gómez
- 27Nunes
- 33Carson
- 52Bobb
- Referee:
- Artur Manuel Soares Dias
Live Text
-
Match ends, RB Leipzig 1, Manchester City 3.
-
Second Half ends, RB Leipzig 1, Manchester City 3.
-
Goal! RB Leipzig 1, Manchester City 3. Jérémy Doku (Manchester City) right footed shot from the centre of the box to the bottom right corner. Assisted by Julián Álvarez following a fast break.
-
Foul by Julián Álvarez (Manchester City).
-
Xavi Simons (RB Leipzig) wins a free kick in the attacking half.
-
Foul by Jérémy Doku (Manchester City).
-
Christoph Baumgartner (RB Leipzig) wins a free kick in the attacking half.
-
Substitution, Manchester City. Matheus Nunes replaces Bernardo Silva.
-
Attempt missed. Christoph Baumgartner (RB Leipzig) right footed shot from outside the box is high and wide to the right.
-
Bernardo Silva (Manchester City) wins a free kick in the attacking half.
-
Foul by Castello Lukeba (RB Leipzig).
-
Substitution, RB Leipzig. Amadou Haidara replaces Nicolas Seiwald.
-
Goal! RB Leipzig 1, Manchester City 2. Julián Álvarez (Manchester City) right footed shot from the left side of the box to the top right corner. Assisted by Jérémy Doku.
-
Substitution, Manchester City. Julián Álvarez replaces Phil Foden.
-
Jérémy Doku (Manchester City) wins a free kick in the defensive half.
-
Foul by Mohamed Simakan (RB Leipzig).
-
David Raum (RB Leipzig) is shown the yellow card for a bad foul.
-
Bernardo Silva (Manchester City) wins a free kick in the attacking half.
-
Foul by David Raum (RB Leipzig).
-
Foul by Josko Gvardiol (Manchester City).

Gregory Daniels is your guide to the latest trends, viral sensations, and internet phenomena. With a finger on the pulse of digital culture, he explores what’s trending across social media and pop culture. Gregory enjoys staying ahead of the curve and sharing emerging trends with his readers.