Italian champions Juventus won 2-1 at Roma Sunday to leapfrog Inter Milan at the top of the Serie A standings as the league reached its halfway point.
The Bianconeri have 48 points from 19 games, while Inter inched on 46 as Atalanta held them 1-1 on Saturday. Roma slipped to fifth behind Atalanta on goal difference as both have 35 points.
Third-place Lazio, on 42 with a game in hand, beat Napoli 1-0 and AC Milan won 2-0 at Cagliari in other Saturday action.
Juve's Turkish defender Merih Demiral put the Italian champions ahead early on before Ronaldo fired home a penalty to double their advantage with just 10 minutes played.
It was Ronaldo's 14th league goal of the season and his ninth in the last six Serie A appearances.
Things got worse for Roma toward the end of the first half when winger Nicolo Zaniolo was taken off in tears on a stretcher, and the club confirmed at full-time that the 20-year-old has ruptured the anterior cruciate ligament in his right knee.
The hosts pulled one back on 68 minutes through a Diego Perotti penalty, before Juve substitute Gonzalo Higuain had a late strike ruled out for offside.
"We played well for a good 60 minutes, and suffering at the Stadio Olimpico against Roma is almost inevitable," Juventus coach Maurizio Sarri told Sky Sport Italia. "What I did not like is that we tried to sit on our lead rather than increase it, as three times we had three-against-one counter-attacks and didn't finish them off."
Juve were in front after three minutes when Demiral volleyed home a Paulo Dybala delivery.
Dybala then robbed Roma midfielder Jordan Veretout of possession before being hauled down inside the box to earn his side a penalty, which Ronaldo dispatched to give the visitors a dream start.
Juve lost Demiral to injury after 17 minutes, but there were graver concerns for Zaniolo as he was carted off the pitch.
Roma confirmed after full-time that the Italy international will undergo surgery on Monday after rupturing his ACL in his right knee, along with damaging the meniscus.
"This is a bad moment and now Nicolo has to focus only on recovering as quickly as possible," Roma coach Paulo Fonseca told Sky Sport Italia. "We are sad, but tomorrow is another day."
Edin Dzeko fired a shot off the post midway through the second half before sending a cross to Cengiz Ünder, whose header was blocked by Juve defender Alex Sandro.
The Brazilian was adjudged to have handled following a Video Assistant Referee (VAR) review, and Perotti sent Wojciech Szczesny the wrong way from 12 yards.
There were late chances at both ends as Ronaldo headed wide from a good position, before Roma midfielder Lorenzo Pellegrini lashed over inside the box.
Earlier, Hellas Verona came from behind to beat Genoa 2-1 and rise to eighth in the standings on 25 points, leaving the relegation battling visitors stranded in 18th place with 14 points.
A pitch inspection at Verona's Stadio Bentegodi before the the home side's win – which also left Genoa in the relegation zone – found that the lines marking the penalty box were visibly not straight.
Genoa's local rivals Sampdoria moved five points clear of the drop zone with veteran striker Fabio Quagliarella scoring a brace in their thumping 5-1 win over Brescia.
"We are starting to break away from the quicksand of the relegation zone, but it's still there and we have to keep going," said coach Claudio Ranieri, who next play title-chasing Lazio.
Jhon Chancellor nodded in after 12 minutes for Brescia.
But Karol Linetty volleyed in the equaliser on 34 minutes and provided the cross for Jakub Jankto to put the hosts ahead just before the break.
Last season's top scorer Quagliarella gave Sampdoria a third from the spot for his first home goal this season, and added a second in injury time.
In Florence, Patrick Cutrone got his first start for Fiorentina since his move from Wolverhampton Wanderers this week, playing the final 15 minutes in the tight win over rock-bottom SPAL.
German Pezzella struck eight minutes from time to give new coach Giuseppe Iachini his first win for 14th-placed Fiorentina who are now seven points above the drop zone.
Udinese beat Sassuolo 3-0 for their third consecutive victory to move level on points with last season's runners-up Napoli who are in 11th position.