Sergio Ramos, right, gave Real Madrid a 2-0 lead over Bayern Munich. Photo: AP
Real Madrid sailed into their first Champions League final since 2002 with an astonishingly one-sided away victory over holders Bayern Munich.
Sergio Ramos scored two headers from set-pieces before Cristiano Ronaldo rounded off a counter-attack to all but end the game as a contest.
Ronaldo added a late free-kick for his record 16th goal of the European campaign to seal a 5-0 aggregate win.
Real will face either Chelsea or Atletico Madrid in the final in Lisbon.
The defeat was a humiliation for Bayern, who last year thrashed Barcelona 7-0 on aggregate in the semi-finals before overcoming fellow Germans Borussia Dortmund to lift the trophy for the fifth time.
And the result will increase the pressure on manager Pep Guardiola amid the growing feeling that, despite winning the Bundesliga in record time, he has not delivered the progress his employers were expecting.
The future of the former Barca coach will be of little concern to Real, who now have the chance to add to their record haul of nine European Cups, 12 years after Zinedine Zidane's volley delivered their last triumph at Hampden Park.
With Zidane now watching from the Real bench as a member of Carlo Ancelotti's coaching staff, the Spaniards started the game with verve and purpose and were swiftly on the way to their first victory over Bayern in Munich at the 10th attempt.
Gareth Bale had already gone close with a long-range effort after Manuel Neuer's weak punch when a Luka Modric corner from the right located the unmarked Ramos, who powered a header past the Germany goalkeeper.
Shortly afterwards, Real doubled their lead via a near-identical goal as Angel Di Maria's free-kick was flicked on by Pepe, and Ramos was once again on hand to head in.
With Bayern's usually fervent fans stunned into silence, Real added a third on the break. Karim Benzema's hooked pass sent Bale racing clear and the Welshman squared for Ronaldo to slot in his 48th goal of the season and surpass the previous record of 14 goals in a European Cup season, held by Lionel Messi, Ruud van Nistelrooy and Jose Altafini.
The only low for Real in an otherwise perfect first period was Xabi Alonso's yellow card for a foul on Bastian Schweinsteiger, which will rule him out of the final on 24 May.
With Bayern needing a near-impossible five goals, the second half was predictably flat.
Arjen Robben curled wide from the edge of the area, Franck Ribery drew a rare save from Iker Casillas with a low drive and substitute Mario Gotze could not keep his shot below the bar after turning sharply in the box.
And Bayern suffered a final ignominy in the 89th minute when Ronaldo curled a 20-yard free-kick under a jumping wall to kick-start the Real celebrations.
The victory sets up a mouth-watering final either way, with Real poised to face former boss Jose Mourinho should Chelsea make it through, or city rivals Atletico.