Manchester City crushed Real Madrid 4-0 at the Etihad to move into the Champions League finals after winning the semi-final tie 5-1 on aggregate.
Bernardo Silva struck a brace in the first half, before an own goal from Eder Militao and a stoppage-time strike from Julian Alvarez handed Los Blancos a heavy defeat.
The Sky Blues were dominant right from the beginning and Erling Haaland nearly put them in front in the 13th minute. However, Thibaut Courtois made a fantastic reflex save to deny the big Norwegian.
However, there was no stopping Silva, 10 minutes later, when Kevin De Bruyne made a layoff for him to produce a confident finish at the near post. Then in the 37th minute, the winger struck another one with a delicate header as City were in cruise control.
Real Madrid, who beat City 6-5 on aggregate last year in the same stage of the competition, were well below their best. Their defense was woefully exposed and there was more misery to follow after the break.
Eder Militao put De Bruyne's free-kick into his own net in the 76th minute to put the game beyond doubt. Alvarez came off the bench to add gloss to the scoreline as Real Madrid suffered their heaviest European defeat since March 2009.
Manchester City will take on Inter Milan in Istanbul on June 10 for their maiden Champions League title.
Here are the five talking points from the game:
#5 Brilliant Bernardo set City on their way
Manchester City were utterly dominant in the first half, keeping a lion's share of possession (72%) and creating numerous opportunities (13 shots). Bernardo Silva was unstoppable in that period and struck twice to set them on their way to a huge victory.
The Portuguese ace broke the deadlock in the 23rd minute with a confident finish. He struck another 14 minutes later and doubled his tally and City's advantage with a fantastic looping header.
The Portuguese scored against Bayern Munich in the previous round at the Etihad and scored twice against Real Madrid. He's stepping up in the big games for City to keep their treble hopes alive.
#4 Carlo Ancelotti makes strange decisions
Real Madrid manager Carlo Ancelotti is one of the most astute managers in world football but he was guilty of making some questionable calls last night. His first was the decision to bench Antonio Rudiger, who had a stormer in the first leg as the German was crucial to keeping Haaland quiet. Strangely, he was relegated to the bench for the Etihad encounter.
During the match too, the Italian honcho made the bizarre decision to bring Rudiger on in the 63rd minute for Luka Modric when Real Madrid were chasing the game.
Marco Asensio and Lucas Vazquez, Ancelotti's two attacking substitutions, came only in the 70th and 80th minute respectively. They should've been brought on much earlier considering Real Madrid trailed 2-0 at half-time.
#3 Haaland shut out yet again
On a goal-crazy evening like this one, you'd expect someone like Erling Haaland, who has scored over 50 goals in the campaign already, to find the back of the net. But instead, the Norwegian fired a blank.
That's mainly because of Thibaut Courtois' brilliance between the sticks. The big Belgian denied him thrice in the game starting in the 13th minute when he produced a brilliant reflex save.
Eight minutes later, Haaland arrowed his header towards the top-left corner but Courtous produced a world-class save to deny him. Then midway through the second half, the 22-year-old got another chance to score. Ilkay Gundogan flicked a delightful backheel into his path, but Courtois was there once again, tipping the shot onto the crossbar.
Real Madrid are now one of the few teams in the Champions League that Haaland has faced more than once without scoring.
#2 Real Madrid's attackers go missing
With Manchester City dominating possession and unleashing an avalanche of attack at Real Madrid's goal, their forwards were reduced to mere spectators at the other end.
Karim Benzema, who scored a double at the Etihad last year, had just one shot on target in the match, and that came in the 83rd minute. Vinicius Junior and Rodrygo were kept under wraps too as Los Blancos appeared toothless in attack.
Unsurprisingly, this was the first time in the Champions League this season that Carlo Ancelotti's team failed to score.
#1 Manchester City have a date with destiny
By June 10, Manchester City could've already wrapped up the Premier League and FA Cup double. Winning the Champions League, then, would complete a historic treble, the first in their history and the first by an English side since Manchester United in 1999.
On paper, the Sky Blues are the overwhelming favorites over Inter Milan, but the Nerazzurri aren't to be underestimated. This is a team that has built their Champions League campaign on a stoic defense, keeping eight clean sheets in 12 games. This includes five in six knockout games.
Also, Simone Inzaghi's team had progressed from a group featuring European heavyweights Bayern Munich and Barcelona. They also boast a better record in the competition than City.
It's gonna be a cracker!