Lautaro Martinez gave the home side an early lead but the Portuguese replied with a penalty before pouncing on a defensive mix-up to put the Turin club in front before halftime.
Inter, without suspended top scorer Romelu Lukaku, pushed for an equaliser but couldn’t find a way past 43-year-old goalkeeper Gianluigi Buffon. The Italian produced a superb save to deny Matteo Darmian on the 1,100th senior appearance of his career for club and country.
‘It was important after losing in the league,’ Juventus midfielder Adrien Rabiot told Rai Sport.
‘We saw a different team and showed that we’re at the same level as Inter.’
‘There’s still one game to go, which will be even more important and difficult, the spirit of revenge seen tonight must be reaffirmed next week,’ Rabiot added.
Inter coach Antonio Conte was without two influential players through suspension in Lukaku and wing-back Achraf Hakimi, but Martinez squeezed a finish past Buffon after nine minutes to give the hosts a perfect start.
However, Ashley Young’s tug on Juan Cuadrado resulted in a penalty following a VAR review, which Ronaldo smashed into the roof of the net.
The striker soon grabbed his second by pouncing on some hesitation between Samir Handanovic and Alessandro Bastoni on the edge of the box, pinching the ball and finishing into an unguarded net.
Inter pushed forward after the break, but they were denied by heroic last-ditch defending as Alexis Sanchez’s shot was cleared off the line by Merih Demiral and Buffon showed sharp reflexes to save Darmian’s shot.