Madrid became the first team in the Champions League era to successfully defend the trophy with their sixth triumph in the competition - and 12th when you include it in its former guise of the European Cup - three of those victories coming in the last four years.
A thrilling first half saw Ronaldo put Madrid ahead, becoming the first player to score in three different Champions League finals in the process.
Mario Mandzukic equalised for Juventus with a spectacular overhead kick that will live long in the memory.
But Madrid dominated the second half as Juve collapsed, Casemiro scoring with the help of a huge deflection before Ronaldo made sure of the victory from close-range, ensuring he finishes above Lionel Messi as the competition's top scorer this season.
Any hopes of a Juventus comeback were ended when substitute Juan Cuadrado was sent off 18 minutes after coming on, the winger receiving a second yellow card for a clash with Sergio Ramos, before Madrid substitute Marco Asensio put the icing on the cake in the last minute.
Having also secured LaLiga glory, the win seals a famous double for Zinedine Zidane in his first full season at the helm, with Madrid the first side since AC Milan in 1990 to win back-to-back European crowns.
Juventus, who had been seeking a treble after winning Serie A and the Coppa Italia, have now lost five straight finals since last tasting continental success back in 1996, including two of the last three, having also lost to Barcelona in Berlin two years ago.
600 – Cristiano Ronaldo has scored his 600th goal in all competitions for club and country. Legendary. pic.twitter.com/QbHprSwhzj— OptaJoe (@OptaJoe) June 3, 2017
Former Madrid star Gonzalo Higuain tested Keylor Navas early on with a 25-yard drive, before the goalkeeper had to make a terrific one-handed save to keep out a powerful Miralem Pjanic strike from a similar distance.
It was Madrid, though, who opened the scoring after 20 minutes, Ronaldo capping a slick passing move.
Karim Benzema and Ronaldo were both involved in the build-up before Dani Carvajal's cut-back led to the Portugal international producing an impressive first-time finish, finding the far corner from the edge of the area with the help of a slight deflection off Leonardo Bonucci.
The lead lasted just seven minutes before Juve hit back in magnificent fashion.
Bonucci's pass from defence was helped on by both Alex Sandro and Higuain – the ball not leaving the ground throughout – to set up Mandzukic and the Croatia international took one touch and unleashed a magnificent overhead kick into the top corner, with Navas not close to it.
Ronaldo had a chance to hit back, but he misjudged an attempted diving header from Isco's cross as an entertaining first half ended level.
Luka Modric tested Gianluigi Buffon with a left-footed strike from outside the box as Madrid made a faster start to the second half.
And Zidane's men retook the lead just after the hour mark when Toni Kroos had a shot blocked and Casemiro latched on to the loose ball 35 yards out, firing in a shot which took a huge deflection off Sami Khedira to deceive Buffon.
With Juve shell-shocked, Madrid struck again just three minutes later. Modric played a one-two with Carvajal, latching on to the full-back's return pass down the right and digging out a superb cross, allowing Ronaldo to nip ahead of a stationary Bonucci and prod in from inside the six-yard box.
Juve brought on Cuadrado, Mario Lemina and Claudio Marchisio as they attempted to reverse the momentum, while Gareth Bale was introduced for Madrid in his home city.
The Italian champions needed a superb intervention from Bonucci to stop Bale from tapping in a Ronaldo cross, before coming close themselves when Alex Sandro's glancing header fell just wide from Dani Alves' free-kick.
A miserable night for Juve got worse with six minutes to go when Cuadrado, already booked for a late challenge on Ronaldo, saw red after Ramos went down dramatically, the Colombia international having lightly pushed him and made minimal contact with his foot.
Madrid wrapped up a famous triumph in the final minute when Asensio – eight minutes after coming on - slotted in left-footed from eight yards after superb work from Marcelo down the left in an emphatic triumph for Zidane.
Key Opta stats:
- Real Madrid have won their last six European Cup finals, last losing one in 1981 versus Liverpool.
- Mario Mandzukic (Bayern Munich, Juventus) became the third player to score in a European Cup/Champions League final for two different teams after Velibor Vasovic (Partizan Belgrade, Ajax) & Cristiano Ronaldo (Man Utd, Real Madrid).
- Ronaldo has now scored at least twice as many Champions League goals as any other player in the quarter-final stage (20), semi-final stage (13) and final of the competition (4).
- Ronaldo made his fifth European Cup/Champions League final appearance - only Paolo Maldini, Paco Gento (8) and Alfredo Di Stefano (7) have played in more.
- Juan Cuadrado became the third player to be sent off in a Champions League final, after Jens Lehmann (2006) and Didier Drogba (2008).
- Gianluigi Buffon was the third oldest player to feature in a European Cup final (39y 126d) after Dino Zoff and Edwin van der Sar.
- Juventus (4) conceded more goals in this game as they had in the rest of the campaign (3).