Manchester City paid the price for failing to make the most of their first-half dominance as they were held to a draw by RB Leipzig in the first leg of their Champions League last-16 tie.
The away side were in complete control in the first 45 minutes and got the breakthrough midway through the half when Ilkay Gundogan pounced on a mistake in defence and fed Riyad Mahrez to drive into the back of the net.
But RB Leipzig came out in the second half with more ambition and twice went close to equalising early on through Benjamin Henrichs, who first headed just over before then sweeping wide with just Ederson to beat.
The Manchester City goalkeeper was called upon again to deny Andre Silva at his near post but the hosts were finally rewarded for their mounting pressure when Josko Gvardiol headed in following a short corner.
Janis Blaswich denied Gundogan from restoring the visitors’ lead moments later with a reflex save from close range, while City had a penalty shout denied late on when Henrichs appeared to handle inside the area, but Leipzig held on to secure a draw.
City, bidding to end their wait for a first Champions League trophy, will look to get the job done in the return leg on Tuesday, 14 March.
City frustrated again
An away draw in the knockout stage of Europe should be considered a very decent result, but City boss Pep Guardiola will likely be frustrated that his side failed to once again make their first-half dominance count.
They had gone into the game looking to respond after they were held by Nottingham Forest at the weekend, once again conceding in the second half after scoring before the break.
They controlled proceedings in the early stages of this game as Leipzig rarely ventured beyond their own half and once Mahrez scored it seemed only a question of how many more goals City would score.
But despite their possessional dominance, City found it hard to create too many chances, not helped by the absence of Kevin de Bruyne through illness.
Erling Haaland struggled to make an impact on his return to Germany, but really should have scored with one of his few chances in the second half, racing forward before dragging his shot well wide.
But while City may be frustrated not to have come away with a win, they will be confident of getting the job done back at the Etihad where they won 17 of 19 games there this season.
Should City have had a penalty?
Leipzig will rightly be happy with securing a draw considering the vast improvement in their attacking play in the second half, but City will feel aggrieved they did not have the chance to snatch a last-gasp winner.
With seconds left, Mahrez sent the ball into the box following a short corner and as the ball was headed towards goal by Rodri, Henrichs appeared to push it away with his hands.
There was no indication of a VAR check before the whistle was blown for full-time.
Player of the match
Squad number18Player nameNkunku
Squad number39Player nameHenrichs
Squad number32Player nameGvardiol
Squad number8Player nameHaidara
Squad number9Player namePoulsen
Squad number22Player nameRaum
Squad number11Player nameWerner
Squad number16Player nameKlostermann
Squad number24Player nameSchlager
Squad number10Player nameForsberg
Squad number19Player nameAndré Silva
Squad number17Player nameSzoboszlai
Squad number21Player nameBlaswich
Squad number4Player nameOrbán
Squad number23Player nameHalstenberg
Squad number27Player nameLaimer
- 16KlostermannSubstituted forHenrichsat 45′minutesBooked at 90mins
- 23HalstenbergSubstituted forRaumat 89′minutes
- 24SchlagerSubstituted forHaidaraat 82′minutes
- 10ForsbergSubstituted forNkunkuat 66′minutes
- 19André SilvaSubstituted forPoulsenat 82′minutes
- 3Rúben Dias
- 20Bernardo Silva
- Serdar Gözübüyük
Match ends, RB Leipzig 1, Manchester City 1.
Second Half ends, RB Leipzig 1, Manchester City 1.
Attempt missed. Rodri (Manchester City) header from the centre of the box misses to the left. Assisted by Riyad Mahrez with a cross following a corner.
Corner, Manchester City. Conceded by Konrad Laimer.
Benjamin Henrichs (RB Leipzig) is shown the yellow card for a bad foul.
Ilkay Gündogan (Manchester City) wins a free kick in the defensive half.
Foul by Benjamin Henrichs (RB Leipzig).
Substitution, RB Leipzig. David Raum replaces Marcel Halstenberg.
Jack Grealish (Manchester City) wins a free kick in the defensive half.
Foul by Yussuf Poulsen (RB Leipzig).
Foul by Kyle Walker (Manchester City).
Marcel Halstenberg (RB Leipzig) wins a free kick on the left wing.
Substitution, RB Leipzig. Yussuf Poulsen replaces André Silva.
Substitution, RB Leipzig. Amadou Haidara replaces Xaver Schlager.
Attempt blocked. Bernardo Silva (Manchester City) left footed shot from outside the box is blocked. Assisted by Riyad Mahrez.
Hand ball by Bernardo Silva (Manchester City).
Attempt saved. Ilkay Gündogan (Manchester City) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Jack Grealish.
Foul by Riyad Mahrez (Manchester City).
Marcel Halstenberg (RB Leipzig) wins a free kick in the defensive half.
Goal! RB Leipzig 1, Manchester City 1. Josko Gvardiol (RB Leipzig) header from very close range to the centre of the goal. Assisted by Marcel Halstenberg with a cross following a corner.