Pep Guardiola reached the Champions League semi-finals for the first time as Manchester City manager after a second 2-1 win over Borussia Dortmund.
City had exited Europe's premier club competition at the quarter-final stage in each of the prior three seasons and faced the same fate again on Wednesday when Jude Bellingham opened the scoring after 15 minutes at Signal Iduna Park.
That effort would have been enough to take Dortmund through on away goals after a 2-1 defeat in the first leg in Manchester, but Emre Can's second-half handball allowed Riyad Mahrez to level from the penalty spot.
Although BVB attempted to chase the game again, Phil Foden - the match winner eight days earlier - struck once more to maintain City's quadruple bid and tee up an intriguing last-four encounter with Paris Saint-Germain.
This was good preparation for that stern test, at least for 45 minutes, with Bellingham superb again and belatedly able to net his first Champions League goal, having had an effort ruled out in the first encounter.
Mahmoud Dahoud's shot ricocheted to the feet of the England midfielder, who calmly controlled just inside the area and placed a fine finish high to Ederson's left, the goalkeeper's palm only helping the ball find the top corner.
Manuel Akanji headed too close to Ederson three minutes later, before City rallied and Kevin De Bruyne crashed a right-footed effort against the crossbar.
But Bellingham remained at the centre of the action and produced a stunning, stretching block when Mahrez appeared certain to score.
There was no stopping Mahrez 10 minutes into the second half. Can was penalised when the ball bounced off his head onto an outstretched arm, allowing the City winger to smash in the subsequent spot-kick following a lengthy VAR review.
As Dortmund attacked and Mats Hummels nodded over, De Bruyne sought to pick them off on the counter.
Although the City captain's dazzling run ended with a save from Marwin Hitz, the following corner went short to Foden, whose blast squeezed past the goalkeeper and in via the post to put the tie to bed.
What does it mean? At long last, Pep makes progress
Guardiola has seen an outstanding transformation in City's play over the past five years, but Manuel Pellegrini and Roberto Mancini before him had already made this side a dominant force in domestic competition.
The former Barcelona and Bayern Munich coach was expected to bring European glory, only to repeatedly come up short - against Monaco in the last 16 and then, at this stage, in matches with Liverpool, Tottenham and Lyon.
Each defeat appeared more painful than the last until on Wednesday, finally, Guardiola got it right. With 17 shots and 61.8 per cent of the possession in Germany, victory was no less than City deserved.
Bellingham's boundless energy
In the first half, when Dortmund looked a match for their opponents, Bellingham epitomised their desire.
Having become the second-youngest scorer in a Champions League knockout game, older only than Bojan in 2008, the 17-year-old played a key part in a dogged defensive effort, making two tackles and two blocks - one of which, from Mahrez's shot, prompted a furious fist pump in celebration.
De Bruyne devastates Dortmund
City's number 17 may not have ended up on the scoresheet, but he was their standout performer once again and contested a game-high 13 duels to wrestle back control.
No player on the pitch attempted more shots than De Bruyne's five, either. The first of those hit the crossbar and swung the game in City's favour, while the last won the corner from which Foden scored.
Key Opta facts
- Guardiola has reached his eighth UEFA Champions League semi-final, now the joint-most in the history of the competition amongst all managers, alongside José Mourinho.
- City have reached only their second UEFA Champions League semi-final, and first since 2015-16; indeed, Guardiola will see one his sides appear in the final four of the competition for the first time since the same season, with Bayern Munich.
- Aged 17 years and 289 days, Bellingham became only the second player to reach 10 UEFA Champions League appearances before turning 18, after Youri Tielemans in 2014; the previous youngest English player to reach 10 games was Theo Walcott (18y 341d in 2008).
- Dortmund have now scored in each of their last 40 matches across all competitions (82 goals), with only their German counterparts Bayern Munich (65) on a longer scoring run of all sides within the top five European leagues.
City have another massive knockout tie on Saturday as they face Chelsea in the FA Cup semi-finals. Dortmund's focus returns to the Bundesliga with a home game against Werder Bremen on Sunday.