Ronaldo netted once in either half - the second of which was a stunning overhead kick - as the reigning European champions, who added a third through Marcelo late on, took a huge step towards the semi-finals of the competition once again.
Paulo Dybala supported Gonzalo Higuain in the final third of the field, and there were also spots for both Alex Sandro and Kwadwo Asamoah down the left. It was a big night for Rodrigo Bentancur, meanwhile, as the 20-year-old started his third Champions League match of the season.
Madrid needed just three minutes to make the breakthrough as Ronaldo expertly poked a low Isco cross into the far corner of the net to become the first player ever to score in 10 Champions League matches in a row.
Juventus's first half-chance of the match came four minutes later when Dybala was released inside the Madrid box, but the Argentine saw his effort blocked behind by Sergio Ramos.
Raphael Varane then headed over the crossbar down the other end as opportunities continued to arrive in Turin.
Higuain thought that he had levelled in the 23rd minute when he met a deep free kick from Dybala, but Real Madrid goalkeeper Keylor Navas made a wonderful point-blank save.
Juventus's next opportunity arrived in the 34th minute when Mattia De Sciglio drove down the bright before delivering a low cross into the Real box, but Dybala just failed to make contact.
Toni Kroos then rattled the crossbar with a stunning strike down the other end of the field, before Juventus centre-back Giorgio Chiellini passed up a brilliant chance from a corner in the 38th minute.
The home side felt that they should have had a penalty in the closing moments of the first half when Dybala went down under a challenge from Casemiro, although the referee took the view that the Argentine had dived, and therefore issued a yellow card.
Ronaldo came close to scoring his second of the match in the 51st minute after smart work from Benzema inside the Juventus box, but the Portuguese's effort just missed the far post.
Sergio Ramos then picked up a yellow card in the 55th minute for a late challenge on Dybala, which will rule the Real Madrid captain out of the second leg next week. Juventus almost scored from the resulting free kick, but Dybala's deflected effort just dropped the wrong side of the post from the home side's point of view.
Ronaldo then lit up the match in the 64th minute when his stunning overhead kick from a Dani Carvajal cross ended up in the back of the net, and even the Juventus fans applauded the incredible effort.
It went from bad to worse for Juventus as Dybala picked up a straight red card in the 66th minute for a high challenge on Carvajal.
Real Madrid made it 3-0 in the 72nd minute when Marcelo collected a clever pass from Ronaldo before chipping over the onrushing Gianluigi Buffon and finishing into the back of the net from close range.
Both managers made changes in the period that followed, and Juventus looked shell-shocked in the latter stages as they attempted to come to terms with what had occurred in Turin.
Ronaldo had a half-chance to complete his hat-trick late on, but the Portugal international could not convert following a mistake from Andrea Barzagli, before Mateo Kovacic struck the crossbar for the visitors in the 88th minute.
Ronaldo then passed up another opportunity when he volleyed a Lucas Vazquez cross over the Juventus goal, before the hosts twice came close in stoppage time - Higuain bringing a smart save from Navas, and Juan Cuadrado bundling wide from close range.
JUVENTUS (4-2-3-1): Buffon; De Sciglio, Barzagli, Chiellini, Asamoah (Matuidi 69'); Bentancur, Khedira (Cuadrado 75'); Costa (Mandzukic 69'), Dybala, Sandro; Higuain
REAL MADRID (4-3-3): Navas; Carvajal, Ramos, Varane, Marcelo; Casemiro, Kroos, Modric (Kovacic 82'); Isco (Asensio 75'), Benzema (Vazquez 59'), Ronaldo