With Juventus leading 2-1 from the first leg, Cristiano Ronaldo's first-half penalty had put the hosts ahead on away goals.
However, Morata, who left Madrid for the Italian champions last July, struck the vital blow when he volleyed home Paul Pogba's knockdown on 57 minutes to take Juventus to their first final in 12 years in Berlin on June 6.
“After the first goal we thought it was done,” said Madrid defender Sergio Ramos.
“We have to congratulate them. They have gone through because they have done things better.
“It wasn't just one game but two. Here we didn't score enough goals and weren't efficient in front of goal.”
Soaring temperatures of over 30 degrees celsius didn't prevent a frantic start to the match as the hosts went looking for the goal they needed from the off.
Gareth Bale had the first chance as he headed over Marcelo's cross before Karim Benzema blasted off target from a narrow angle having turned Stephan Lichtsteiner brilliantly inside the area.
Ronaldo then saw a free-kick deflected narrowly over, but Juventus were also enjoying good spells of possession and Iker Casillas was forced into action on 13 minutes when he turned Arturo Vidal's effort from the edge of the box to safety.
Benzema breached the Juventus backline once more six minutes later, but his pass was behind Ronaldo and the Portuguese couldn't turn the ball into an unguarded net.
The unrelenting Madrid pressure continued as Bale's piledriver was brilliantly turned behind by Gianluigi Buffon.
However, there was nothing the Italian captain could do to prevent Ronaldo registering his 10th goal in Champions League semi-finals from the spot after James Rodriguez had been felled by Giorgio Chiellini midway through the half.
Buffon came to his side's rescue with two more saves from Benzema, whilst Ronaldo also smashed into the side-netting and wasted a clear opening by trying to square for Isco with the goal at his mercy before half-time.
Claudio Marchisio was first to take aim after the break as his driven effort flew just beyond Casillas's right-hand post.
Juventus did get the all-important away goal just before the hour mark when Madrid failed to fully clear from Andrea Pirlo's free-kick and Morata was on hand to volley home after Pogba outmuscled Sergio Ramos.
Bale had the chance to silence his critics five minutes later as Marcelo stormed down the left and his low cross was sliced wide by the Welshman at the near post.
Casillas kept Madrid in the tie as he spread himself to make a fine save from Marchisio as the game raged from end to end.
Bale headed over from Ronaldo's cross as the European champions grip on the trophy started to slip away.
Casillas denied Juventus victory on the night by getting strong hands to Pogba's drive.
But their captain's efforts were in vain as Madrid's final realistic hopes of winning a major trophy this season disappeared and Juventus progressed to their eighth European Cup final.