Manchester City delivered a relentless performance laced with outstanding quality to overpower holders Real Madrid and reach the Champions League final against Inter Milan in Istanbul.
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.
Who can stop Manchester City?
Manchester City have not lost a game in all competitions since 5 FebruaryCity have put themselves in a magnificent position to become only the English second 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.
End of an era for Real?
Carlo Ancelotti's future as Real Madrid boss is uncertainReal 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.
Player of the match
Bernardo SilvaBernardo Silva
Real Madrid
Squad number1Player nameCourtois
Squad number8Player nameKroos
Squad number4Player nameAlaba
Squad number12Player nameCamavinga
Squad number2Player nameDani Carvajal
Squad number3Player nameÉder Militão
Squad number10Player nameModric
Squad number21Player nameRodrygo
Squad number20Player nameVinícius Júnior
Squad number15Player nameValverde
Squad number22Player nameRüdiger
Squad number11Player nameAsensio
Squad number17Player nameLucas Vázquez
Squad number9Player nameBenzema
Squad number18Player nameTchouaméni
Squad number19Player nameDani Ceballos
Line-ups
Man City
Formation 3-2-4-1
31Ederson
2Walker3Rúben Dias25Akanji
5Stones16Rodri
20Bernardo Silva17De Bruyne8Gündogan10Grealish
9Haaland
31Ederson3Rúben DiasBooked at 50mins25Akanji2Walker17De BruyneSubstituted forFodenat 84'minutes5Stones16Rodri8GündoganBooked at 62minsSubstituted forMahrezat 79'minutes10GrealishBooked at 90mins20Bernardo Silva9HaalandSubstituted forÁlvarezat 89'minutesSubstitutes
4Phillips14Laporte18Ortega19Álvarez21Gómez26Mahrez33Carson47Foden80Palmer82LewisReal Madrid
Formation 4-3-3
1Courtois
2Carvajal Ramos3Militão4Alaba12Camavinga
15Valverde8Kroos10Modric
21Rodrygo9Benzema20Vinícius Júnior
1Courtois2Carvajal RamosBooked at 55minsSubstituted forVázquezat 80'minutes3Militão4Alaba12CamavingaBooked at 75minsSubstituted forTchouaméniat 80'minutes15Valverde8KroosSubstituted forAsensioat 70'minutes10ModricSubstituted forRüdigerat 63'minutes21RodrygoSubstituted forCeballosat 80'minutes9Benzema20Vinícius JúniorSubstitutes
5Vallejo6Nacho7E Hazard11Asensio13Lunin16Odriozola17Vázquez18Tchouaméni19Ceballos22Rüdiger23Mendy24MarianoReferee:Szymon MarciniakAttendance:52,313Live Text
Match ends, Manchester City 4, Real Madrid 0.
Second Half ends, Manchester City 4, Real Madrid 0.
Foul by Manuel Akanji (Manchester City).
Marco Asensio (Real Madrid) wins a free kick in the attacking half.
Foul by Jack Grealish (Manchester City).
Lucas Vázquez (Real Madrid) wins a free kick in the defensive half.
Goal! Manchester City 4, Real Madrid 0. Julián Álvarez (Manchester City) right footed shot from the centre of the box to the bottom left corner. Assisted by Phil Foden with a through ball.
Jack Grealish (Manchester City) is shown the yellow card for a bad foul.
Foul by Jack Grealish (Manchester City).
Éder Militão (Real Madrid) wins a free kick in the defensive half.
Riyad Mahrez (Manchester City) wins a free kick in the defensive half.
Foul by David Alaba (Real Madrid).
Substitution, Manchester City. Julián Álvarez replaces Erling Haaland.
Foul by Bernardo Silva (Manchester City).
Marco Asensio (Real Madrid) wins a free kick in the attacking half.
Substitution, Manchester City. Phil Foden replaces Kevin De Bruyne.
Foul by Kevin De Bruyne (Manchester City).
Lucas Vázquez (Real Madrid) wins a free kick on the right wing.
Attempt saved. Dani Ceballos (Real Madrid) right footed shot from the centre of the box is saved in the bottom right corner. Assisted by Lucas Vázquez.
Attempt saved. Karim Benzema (Real Madrid) right footed shot from a difficult angle on the right is saved in the centre of the goal.