Fireworks were let off outside Manchester City’s hotel the night before the game in a bid to sabotage their chances.
But a rocket from Phil Foden and a penalty sparkler from Riyad Mahrez ensured City had the last laugh as they made it to a first Champions League semi-final under Pep Guardiola.
After three successive quarter-final exits, the pressure was on Guardiola and his players not to fall at the same stage again and raise more questions about their European pedigree.
But with Kevin De Bruyne driving them on throughout, Mahrez keeping his cool from the penalty spot and Foden capping a majestic display with his stunning late strike, City swept into the last four.
There they will meet Paris St Germain, who will hold no fear for City, despite a stellar squad that includes Brazil superstar Neymar and France World Cup winner Kylian Mbappe.
City are the favourites to win the Champions League for a reason and here they showed just why, coming from a goal behind and showing the composure required to succeed at this exalted level.
They remain on course to complete an unprecedented Quadruple, with history beckoning once again for Guardiola and his formidable City squad.
Midfielder Ilkay Gundogan said City needed to stay calm in the difficult moments and they did that here, refusing to panic when Jude Bellingham gave Dortmund an early lead.
It would have been easy for City to fold and concede further goals, just as they did in previous quarter-final exits to Liverpool, Tottenham and Lyon.
But Guardiola’s players kept their collective composure and focus, trusted in their ability to get back into the game and saw that faith rewarded as they dismantled Dortmund to overhaul them.
Yet it was the hosts who seized the early initiative, taking the lead in the 15th minute through England’s teenage sensation Bellingham.
Erling Haaland made a superb run in behind John Stones, before laying the ball off to Mahmoud Dahoud, whose first-time shot was blocked.
The ball fell to Bellingham, who took one touch before opening up his body and producing a composed finish into the top right corner.
At 17 years and 289 days, Bellingham became the youngest Englishman to score in the Champions League.
But City kept their cool and played their way back into the game, De Bruyne thudding the bar with a ferocious strike in the 25th minute, after showing great tenacity to win back the ball.
City came close again two minutes later, Bellingham the hero at the other end this time, keeping out a Mahrez effort with a goal-line clearance.
The game turned in the 52nd minute, when Emre Can conceded a penalty after using his outstretched left arm to divert a cross from Phil Foden, the spot-kick confirmed after a lengthy VAR check.
Mahrez stepped up three minutes later to sweep the ball into the net from the spot, to level on the night and put City ahead 3-2 on aggregate.
Mats Hummels came close to restoring Dortmund’s lead in the 69th minute, his header clipping the top of the bar.
Marvin Hitz saved a De Bruyne effort, but had no chance with Foden’s stunner, which gave City a two-goal cushion and the breathing space they needed to make it through.