Phil Foden’s last-minute winner gives City a slender 2-1 lead to take into the Champions League quarter-final second leg next week.
Kevin De Bruyne had given City a first-half lead against an enterprising Borussia Dortmund, but failure to convert a couple of very good opportunities eventually proved costly as Marco Reus levelled five minutes from time.
But the excellent Foden had the final say, as De Bruyne’s peach of a cross into the box was cushioned into Foden’s path by Ilkay Gundogan and the young England star made no mistake with an angled low shot.
City played with patience and purpose, feeling out Dortmund in a cagey opening.
Indeed, Ederson was called upon first after just seven minutes when he made a save from Jude Bellingham, before City gradually started to take control.
Though Dortmund had been well organised, they were masters of their own downfall when City finally went ahead on 19 minutes.
Riyad Mahrez intercepted a poor pass from Emre Can, played it to De Bruyne who drove forward towards the Dortmund box and played it to Phil Foden who’s cross from the left to Riyad Mahrez was slightly overhit – but Mahrez kept the ball in play and laid it back to De Bruyne who fired a low shot past the keeper from close range.
Ten minutes later and it looked as though City would have a golden chance to double the lead.
Rodrigo went down in a heap under a challenge from Can in the box and on first glance, it looked as though the German had caught the City midfielder in the face – the referee felt the same as he pointed to the spot but after a lengthy VAR inquest, the official reviewed his decision on a pitch side monitor before reversing his decision.
Was it a penalty? Probably not, but it was another example of how City’s poor luck with VAR decisions in the Champions League continues – though moments later there was relief that there wasn’t a VAR review as Ederson was caught in possession outside his box by Bellingham and the former Birmingham City player went on and rolled the ball into the empty net.
The referee had already blown for a foul, but TV replays suggested there had been minimal contact and Ederson was a shade lucky to get away with it.
The end result was City took a 1-0 lead in at the break.
If Ederson was at fault for the Bellingham incident, he came to the rescue on 48 minutes as the powerful Erling Haaland just edged a physical battle with Ruben Dias as he chased a through ball and the Norwegian’s shot was well saved by the City No.1.
It was the first glimpse of what the 20 year-old is capable of and a reminder for the City players to keep the supply lines firmly closed.
City came close to doubling the lead on 64 minutes after a great break on the right by De Bruyne and as he raced into the box he picked out Foden who hit a low shot straight at Dortmund keeper Hitz and the German side survived.
De Bruyne and Foden were causing Dortmund problems all night and both went close within the space of a minute on 76 with the Belgian whistling a low shot a foot wide before setting up Foden who hit a low drive straight at the keeper.
City paid for the missed chances on 84 minutes when Haaland’s flick sent Marco Reus clear on the edge of the box and the Dortmund midfielder tucked the ball past Ederson to give the Germans a crucial away goal.
But Foden’s late strike gives City the advantage going into next week’s second leg.