Real, who now have a record 12 European Cup wins, grabbed the lead in the 20th minute through Ronaldo, who slotted the ball low into the corner after a clever cut-back from Dani Carvajal following a classic counter attack.
Ronaldo swept in a neat opener after 20 minutes but Mario Mandzukic hit a deserved equaliser for the Italian champions with a spectacular effort seven minutes later.
Real, however, took command in the second half and a long-range deflected effort by Casemiro after 60 minutes, a neat finish by the irrepressible Ronaldo and an 89th minute tap-in for substitute Marco Asensio settled one of the most entertaining finals of recent years.
It was Real’s 12th title in their 15th final as they became the first team to successfully defend it in the Champions League era. AC Milan were the last team to retain Europe’s top prize when they won in 1989 and 1990.
It was heartbreak again for Juventus, however, who were seeking a treble after winning the Italian league and cup. They came away as losers for the seventh time in nine finals having also lost to Barcelona in 2015.
Juve conceded more goals on Saturday than the three they had in the 12 games they played to reach the final as a much-vaunted Real attack v Juve defence scenario went emphatically Madrid's way.
It did not look that way initially as Juventus were full of attacking intent in the opening exchanges.
Real gradually settled, however, and scored with their first chance after a trigonometric build-up. Ronaldo was at the heart of it, playing the ball into the path of Dani Carvajal who cut it straight back to allow the Portuguese forward to sweep the ball sweetly into the far corner.
That made him the second man to score in three finals, after Alfredo Di Stefano, who scored in five in a row for Real in the 1950s, but he was far from done on the night.
That effort was eclipsed seven minutes later by one of the all-time great final goals.
Juve centre back Leonardo Bonucci drove a long diagonal ball towards the byline to set off a brilliantly skilful exchange.
Alex Sandro reached it and cushioned the ball back across the box. Gonzalo Higuain knocked it back to Mandzukic who took a touch on his chest and leaped, with his back to goal, to connect with a stunning bicycle kick that looped over Keylor Navas.
The Juventus fans in the 72,000 crowd erupted, ramping up the atmosphere that was already crackling under the closed stadium roof.
It was a different story after the break, however, and Real's dominance settled the match with two goals in four minutes.
Brazilian midfielder Casemiro made it 2-1 when his 30-yard shot took a deflection that wrong-footed Buffon and Ronaldo, the man who loves the big occasion, expertly swept in the third at the near post after a great run and cross by Luka Modric.
The goals knocked the stuffing out of Juventus, who ended with 10 men after Juan Cuadrado was sent off in the 84th minute - 18 minutes after coming on as a substitute - following a second booking for the mildest of pushes on Sergio Ramos.
Ramos's theatrics were an unedifying moment in a generally uplifting final and fittingly it ended on a positive note when Marcelo charged to the byline and crossed for Asensio to tuck home the fourth.