Phil Foden shone and scored a late winner as Manchester City ran out 2-1 winners over Borussia Dortmund in the first leg of their Champions League quarter-final tie.
Pep Guardiola has never made it past the last eight in the Champions League with City and this looked set to be another frustrating night when Marco Reus equalised with six minutes left, cancelling out Kevin De Bruyne's first-half opener.
However, Foden, who was preferred from the start ahead of Raheem Sterling, popped up with a crucial goal as the clock approached 90 minutes.
Dortmund bravely pressed City at every opportunity in a superb game. Jude Bellingham had a goal controversially chalked off for a soft foul on Ederson after the goalkeeper had dallied on a back-pass, while Erling Haaland was denied by Ederson after showing immense strength to get through one-on-one in the second half.
City hold the advantage though going into the second leg next Wednesday in Germany.
Man City: Ederson (7), Walker (7), Dias (7), Stones (7), Cancelo (7), Rodri (6), Gundogan (6), Bernardo (6), Foden (8), Mahrez (7), De Bruyne (9)
Subs: Jesus (6)
Dortmund: Hitz (7), Morey (6), Hummels (6), Akanji (7), Guerreiro (6), Can (6), Dahoud (6), Bellingham (8), Reus (7), Knauff (7), Haaland (7)
Subs: Delaney (6), Meunier (6)
Man of the match: Kevin De Bruyne
How Foden and De Bruyne put City in command...
Despite having the powers of Erling Haaland in attack, Dortmund have dropped way off the pace in the Bundesliga and came into this game seven points off the Champions League places.
- Pep Guardiola made five changes from the team that beat Leicester 2-0 on Saturday as Raheem Sterling was a surprising omission from the first XI. Phil Foden was among the starters – as were Joao Cancelo, John Stones, Ilkay Gundogan and Bernardo Silva.
- Jadon Sancho, Axel Witsel, Marcel Schmelzer and Dan-Axel Zagadou were all on the sidelines. Ansgar Knauff was handed a Champions League debut in attack.
Yet even though their former City academy star Jadon Sancho was sat at home injured, they played with a determination not to allow the remainder of their season under interim manager Edin Terzic to drift away.
Bellingham, just 17-years-old but mature beyond his years, had the first serious opportunity of the night when he created space in the area but Ederson pushed away his left-foot strike.
City, again starting without a recognised centre-forward, took time to impose themselves but punished Dortmund's first major mistake to take the lead.
Emre Can mishit a pass straight to De Bruyne, who drove through the heart of the Dortmund midfield and whipped a ball out to Foden. The England man then sent in a low ball from the left and Mahrez's cut-back from the byline was tapped in at close range by De Bruyne, who had followed his run into the box.
City were given a penalty in strange circumstances on the half-hour after Rodri went down clutching his face following a challenge with Can. Yet it was not clear whether contact had been made and, after being asked to check the monitor by the VAR, referee Ovidiu Hategan eventually reversed his decision.
There was more controversy to come when the referee bizarrely disallowed a Bellingham equaliser.
Bellingham had closed down Ederson as he attempted a clearance and ended up taking the ball and tapping home as the Brazilian missed his kick. Any contact was Ederson catching Bellingham in his failed attempt to clear but Hategan gave a foul against Dortmund.
Haaland - quiet and well marshalled by Ruben Dias in the first half - then burst onto the scene after the break when he outsprinted and outmuscled Dias in devastating fashion to get in on goal but Ederson was alert to the danger.
City picked up the pace and went close on the hour when De Bruyne found Foden in front of goal but goalkeeper Hitz blocked his first-time shot.
City were beginning to find space in the Dortmund final third but the Germans are packed full of talent and scored a well-worked equaliser six minutes from time.
Bellingham found Haaland who cleverly flicked the ball into the path of Reus who broke into the area to clip over Ederson.
It looked set to be another one of those nights for Guardiola in a competition he hasn't won since 2011 but the effervescent Foden got the goal his play deserved when turning home from close range after De Bruyne had picked out Ilkay Gundogan with another sublime pass.
Man of the match: Kevin De Bruyne
If Manchester City are going to complete an unprecedented quadruple, then De Bruyne will be at the heart of it. He is currently at the top of his game, playing a pivotal role in both of City's goals. The opening goal showed just how dangerous De Bruyne can be when given licence to get into goal-poaching positions usually taken up by a striker. His finishing is exceptional. Foden's goal came about due to De Bruyne's epic vision to pick out Gundogan at the back post. A special player.
Foden and Bellingham ran him close though. The future of English football looks in safe hands.
What the manager said
Pep Guardiola told BT Sport: "In the first half we were not clever with the ball but the second half was much better and at 1-0 we had two or three clear chances. Unfortunately, it didn't happen but after we conceded, we got the goal.
"To play good in the areas we want to we need to make good build-up and today was not good; Joao [Cancelo] and Rodri were not clever to receive the ball in positions for the other ones but it's difficult always to do what we want to do because they have quality. But it's a good result and we have another chance in one week.
"We're going to adjust a few things to go there and try to win the game.
"[Foden] was a threat in the second half. He was a real threat, arriving in the final third. He had two, three chances and finally scored."
- Only Real Madrid (26) and Barcelona (20) have won more UEFA Champions League matches against German sides than Man City (13), winning 11 of their last 12 games against such opposition in the competition.
- Borussia Dortmund have only ever progressed from one previous two-legged knockout tie in the UEFA Champions League having lost the first leg, eliminating Benfica at the last 16 stage in 2016-17 (0-1 loss away in the first leg and a 4-0 win at home in the second leg).
- Foden became the third-youngest Englishman to score in a Champions League quarter-final, behind only Alan Smith in 2001 for Leeds (20y 158d) and Theo Walcott in 2009 for Arsenal (20y 30d).
- De Bruyne has been directly involved in 13 goals in his last 12 UEFA Champions League matches (4 goals, 9 assists) and has scored four goals and assisted three more in seven starts in UEFA Champions League quarter-final matches.
- Bellingham became the second-youngest player to start a UEFA Champions League quarter-final (17 years, 281 days) behind only Bojan in April 2008 for Barcelona vs FC Schalke 04 (17 years, 217 days).
Guardiola's side are back in action on Saturday for the early kick-off vs Leeds (12.30) before the second leg next Wednesday in Dortmund. The Germans play Stuttgart on Saturday as they look to improve their position in the Bundesliga.