The striker levelled after Cristiano Ronaldo's first-half penalty to send the Italian champions into the final to face Barcelona
Alvaro Morata returned to haunt Real Madrid at the Santiago Bernabeu as his goal sent the Champions League holders out of the tournament and put Juventus in the final.
Juve went into Wednesday's second leg of their semi-final at the Santiago Bernabeu holding a 2-1 advantage, but they were on the back foot throughout the first half in Madrid.
Cristiano Ronaldo gave the hosts an away-goal advantage from the penalty spot in the 23rd minute after Giorgio Chiellini had felled James Rodriguez in the area, and at that stage they looked good value for their lead.
Carlo Ancelotti's men continued to threaten at the beginning of the second period too, but it was Morata - who played in last year's final for Madrid before being allowed to leave the club - who proved the difference.
Having also scored in the first leg, he found the net against the run of play shortly before the hour mark this time to stun a partisan crowd into silence.
Real pushed hard for the goal that would have forced the match into an additional 30 minutes and preserve their hopes of a mouthwatering Clasico final, but Juve clung on to book their meeting with Barcelona in Berlin on June 6 with the 1-1 draw.
The Madrid team bus was welcomed to the stadium by the kind of throng usually reserved for a victory parade ahead of the match and Marcelo, roared on by an equally fervent crowd inside the Bernabeu, carved out the hosts' first opportunity.
The full-back raced down the left before whipping in a cross for Gareth Bale, but the Welshman – in need of a strong showing following heavy criticism of his first-leg display – headed harmlessly over.
Madrid continued to look the more likely to break the deadlock in the early stages and, after bringing the ball down well in the box, Karim Benzema, who was back in the team following seven matches out with a knee injury, fired high and wide.
Ronaldo saw a free kick drift over off the arm of Arturo Vidal, although there were few Real appeals for handball, before the Chilean drew a diving save from Iker Casillas with Juve's first shot at goal.
A dipping Bale effort had Gianluigi Buffon sprawling after 20 minutes, but the goalkeeper was unable to keep out Ronaldo's spot-kick soon afterwards – diving right as the ball flew straight down the middle.
The penalty had been awarded for Chiellini's clumsy tackle on James, and chances for Ronaldo and Benzema threatened to compound Juve's misery as Madrid ended the half in the ascendancy.
James went down in the box again shortly before the break, but this time he was shown a yellow card for simulation having tumbled under the challenge of Vidal.
Claudio Marchisio sent an effort just wide of the left-hand post at the beginning of the second period, but Marcelo reminded Juve of the threat posed by the home side with a shot that veered just off target.
However, the visitors re-established their aggregate advantage three minutes from the hour. And it was that man Morata who took centre-stage.
Casillas punched clear from a cross, but Juve kept the ball alive and Morata eventually sent a shot bouncing over the head of the Spanish goalkeeper and into the back of the net from Paul Pogba's nod down.
As had been the case when he opened the scoring in the first leg, Morata opted not to celebrate.
Bale saw numerous chances to test Buffon come and go as Real sought the goal that would bring about extra-time, while Marchisio had a golden opportunity to put the match beyond doubt kept out by Casillas.
That missed chance mattered little at the final whistle, though, as Juventus, who survived late penalty appeals for a Patrice Evra challenge on substitute Javier 'Chicharito' Hernandez, celebrated a first final since 2003, having last won the tournament back in 1996.