The Portugal star became the first player in the competition's history to score in 10 consecutive appearances, a run that began when Madrid beat Juve 4-1 in last season's final, before setting up Marcelo to add what could be a crucial third for the reigning champions.
Paulo Dybala was sent off for the hosts in the second half to compound a miserable outing as they suffered their first loss in all competitions since November, and a first at home to Madrid in Europe since 1962.
Ronaldo buried a cross from Isco – who was picked ahead of Gareth Bale by head coach Zinedine Zidane – within three minutes, but Juve were probably the better of the teams in an open first half.
Massimiliano Allegri's side continued to press after the break but Ronaldo struck again in the 64th minute, sending an overhead kick past the motionless Gianluigi Buffon to earn a standing ovation from the home fans.
Dybala received a second yellow card just two minutes later and Marcelo finished a slick move to make it an emphatic win for Madrid, who surely have one foot in the semi-finals despite Ronaldo missing a hat-trick chance in stoppage time.
Isco wasted little time in justifying Zidane's faith, the Spain star escaping down the left before cutting the ball back for Ronaldo to prod home a clever finish.
Juve responded well to the setback, with Sergio Ramos making a fine tackle to deny Dybala a clear chance before Rodrigo Bentancur scuffed a shot after being teed up by Gonzalo Higuain.
Higuain thought he had levelled against his old club 22 minutes in, but a brilliant reaction save from Keylor Navas denied the striker from close range, before Toni Kroos blasted a shot off the crossbar on a rare Madrid break.
Juve felt they could have had two penalties just before half-time, but referee Cuneyt Cakir decided Casemiro did not deliberately handle a Giorgio Chiellini header and then booked Dybala for diving when he went to ground easily in the box. THINK YOUR FRIEND WOULD BE INTRESTED? SHARE THIS STORY USING ANY OF THE SHARE BUTTON BELOW ⬇ PLACE YOUR TEXT ADVERT BELOW:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>