Juventus 3-1 Real Madrid
(Juventus win 4-3 on aggregate)
Juventus left holders Real Madrid beaten and bewildered as they sealed an all-Italian Champions League final against AC Milan in spectacular style in Turin.
The Serie A champions made light of Real's status as Europe's finest club side by easily overturning a first leg deficit and cruising into the Old Trafford showpiece on 28 May.
David Trezeguet and Alessandro del Piero struck in the first half - and Juventus sealed the victory with a third late on from Pavel Nedved.
Zinedine Zidane gave Juventus anxious late moments when he pulled a goal back for Real, for whom Luis Figo missed a penalty, but Juventus thoroughly deserved their triumph.
Real were forced to keep Ronaldo on the bench after the calf injury he sustained in the first leg - but Raul was able to return following an operation for appendicitis.
It made little difference as Marcello Lippi's team dominated virtually from the kick-off.
Juve nursed a burning sense of injustice after Roberto Carlos' controversial winner in the first game.
11 mins: David Trezeguet puts Juventus in front
42 mins: Alessandro del Piero doubles Juventus' advantage
65 mins: Gianluigi Buffon saves Luis Figo's penalty
72 mins: Pavel Nedved adds Juventus' third
85 mins: Zinedine Zidane pulls a goal back for Real Madrid
And they demonstrated they were on a mission with a blistering start that brought the goal that levelled the tie after only 11 minutes.
Nedved's cross was knocked into the path of Trezeguet by Del Piero and the France striker made no mistake.
Real were desperately short of their normal inspiration from Zidane and Figo, and it was no surprise when Juventus doubled their advantage on the night and took the lead in the tie three minutes before the interval.
Del Piero did all his own work, twisting and turning in the box before beating Iker Casillas with a right foot finish.
Real wasted no time in sending on Ronaldo to conjure up an escape act, replacing Flavio Conceicao after 51 minutes.
And he threw his side a lifeline when he was hauled down by Uruguayan defender Paolo Montero after 65 minutes.
Montero, who had already been shown a yellow card, was fortunate not to be sent off and Real's pain was doubled when Buffon easily saved Figo's spot-kick.
Juventus were in ruthless mood, and stamped their passport to Old Trafford with another glorious goal from Nedved with 18 minutes left.
The Czech Republic midfield man took Gianluca Zambrotta's pass in his stride before arrogantly beating Casillas with the outside of his right foot.
But his joy turned to despair when he was booked for a wild challenge on substitute Steve McManaman - a yellow card the keeps him out of the final.
Zidane pulled a goal back for Real with five minutes left, but this was to be Juve's night.
Juventus: Buffon, Thuram, Tudor, Montero, Birindelli,
Zambrotta, Tacchinardi, Davids, Nedved, Trezeguet, Del Piero.
Subs: Chimenti, Fresi, Pessotto, Conte, Camoranesi, Di Vaio,
Real Madrid: Casillas, Salgado, Carlos, Hierro, Helguera,
Zidane, Figo, Flavio, Raul, Guti, Cambiasso. Subs: Cesar, Pavon,
McManaman, Solari, Ronaldo, Morientes, Portillo.
Referee: Urs Meier (Switzerland)