Sami Khedira scored from a rebound after a Ronaldo effort was saved.
The Portugal star then headed home Miralem Pjanic’s corner in the second half – the ninth consecutive away league game in which he has scored.
Former Liverpool midfielder Emre Can scored a late third with his first touch after coming off the bench.
Ronaldo – who also had a goal correctly disallowed for offside – is Serie A’s top scorer with 18 goals, and has scored 20 in 31 appearances for Juve in all competitions.
Juventus, who have won 20 and drawn three of their 23 league games, are chasing an eighth consecutive Serie A title.
Earlier, Atalanta moved into the Champions League places with a 2-1 win over SPAL. Duvan Zapata scored their winner with his 18th goal in 12 games.