City have lost two previous semi-finals to Real but they made no mistake here at a joyous Etihad Stadium to now stand one step away from claiming the trophy that has always stayed tantalisingly out of reach for Pep Guardiola's team.
And their display in a magical first half, in particular, will live long in the memory as the masters of this tournament were left bewildered by City's brilliance.
It maintained a seemingly unstoppable march towards a treble of Champions League, Premier League - which can be won with victory at home to Chelsea on Sunday - and the FA Cup, where they play Manchester United in the final at Wembley.
Real keeper Thibaut Courtois performed heroics to save two Erling Haaland headers early in the first half but he was powerless to stop Bernardo Silva's close-range finish after 23 minutes, the Portugal midfielder scoring a looping header for the second eight minutes before half-time.
City faced the occasional threats from Real after the break, Ederson saving well from David Alaba and Karim Benzema, but they were no match and when Manuel Akanji's header deflected in off Eder Militao 14 minutes from time the celebrations started.
Substitute Julian Alvarez then wrapped up the dominant win with a late strike after latching onto a brilliant Phil Foden pass.
City will play Inter on 10 June as they look to win the Champions League for the first time.
City have put themselves in a magnificent position to become only the second English club to win the Treble first claimed by Manchester United in 1999.
City look to have finally broken Arsenal in the Premier League title race and will be overwhelming favourites to beat Inter Milan, although the desire to keep this feat for themselves will provide fuel and inspiration for United in the FA Cup final at Wembley.
Guardiola's side have somehow found ways to miss out on the Champions League in the past but the addition of Haaland's sheer menace as well as more defensive steel makes it difficult to see how they will not find a way past surprise finalists Inter.
City made a Real side full of experience and quality look several classes beneath them in a first half that will be among the finest this stadium has seen, the dazzling interplay, fierce intensity and pace giving them a two-goal advantage that would have been far more but for the excellence of Courtois.
This night had a special atmosphere even before kick-off and victory will taste even sweeter after the pain of last season's loss at the same stage, when City were almost in the final only to concede two stoppage-time goals and eventually go out.
The Champions League has inflicted various levels of anguish on City despite their domestic dominance but if they perform anything like this in Istanbul it is hard to see an efficient but unspectacular Inter side having enough to trouble them.
Real should never be written off with their history of success but there was an end-of-an-era feel about the manner of this defeat.
The side who put Liverpool and Chelsea out of the Champions League with the minimum of fuss looked its age here as City ran the holders ragged.
Luka Modric was taken off and replaced by Antonio Rudiger just after the hour, the 37-year-old's future at the Bernabeu uncertain, while even Karim Benzema, 35, was unable to pose his usual threat.
Real will refuse to stand still and the way they were outclassed here may only speed up the rate of change, with England's teenage sensation Jude Bellingham looking set to arrive to supplement the next generation midfielders alongside Federico Valverde, Eduardo Camavinga and Aurelien Tchouameni.
Whether the great Carlo Ancelotti remains in charge will also be a point of debate with change often in the air if Real go a season without winning either La Liga or the Champions League.
Whatever the outcome, the Italian manager keeps his place in history as the only coach to win this tournament four times.