Maurizio Sarri’s side led 2-0 thanks to goals from Gonzalo Higuain and Federico Bernardeschi, before Ronaldo completed the scoring late on.
That result leaves the Spanish club level on points with Juventus, and both will expect to qualify comfortably for the knockout stages.
Paris Saint-Germain continued their excellent start to their Champions League campaign, following up a 3-0 victory over Real Madrid with a 1-0 win at Galatasaray.
Summer signing Mauro Icardi scored his first goal for the club, and that was enough to earn a valuable three points.
PSG are now four points clear at the top of Group A after Real Madrid were held to a 2-2 draw in the early kick-off against Club Brugge.
In Group B, Red Star Belgrade scored two late goals to earn a 3-1 win over ten-man Olympiakos. That result takes the Serbian side into second after Bayern thrashed Tottenham.
Manchester City, meanwhile, were comfortable winners against a stubborn Dinamo Zagreb side, making it two wins from two in Group C.
The other game in City’s group saw Shakhtar Donetsk score a dramatic late winner to beat Atalanta at San Siro.