Torino held its own for 70 minutes in a cagey affair until Zaza dribbled haphazardly back towards his own box with Leonardo Bonucci in pursuit.
The forward then sold Salvador Ichazo short with a terrible backpass and the substitute goalkeeper brought down Mario Mandzukic.
Ronaldo converted despite Ichazo's best efforts for his 11th Serie A goal of the season, extending Juve's lead at the summit to 11 points.
Salvatore Sirigu took a heavy blow to the hip early on and the Torino goalkeeper writhed in agony after making a fine reaction save from Ronaldo.
Sirigu finally accepted defeat in the 20th minute, making way for Ichazo to make his first Serie A appearance for Torino since January 2016.
His opposite number Mattia Perin – preferred to Wojciech Szczesny by Juventus boss Massimiliano Allegri – kept out Andrea Belotti's header and prevented Armando Izzo from scrambling home the rebound.
Izzo had a better chance in the 52nd minute when he got in front of Leonardo Bonucci but headed Cristian Ansaldi's in-swinging free-kick over.
Belotti then had a strike deflected behind and Juventus full-back Alex Sandro was fortunate not to be penalised for pulling Zaza to the floor in the penalty area.
It had been largely lacklustre from the champions but a combination of Koffi Djidji and Ichazo thwarted Blaise Matuidi when he was on the end of Ronaldo's excellent low cross.
Increasing pressure told - certainly when it came to Zaza's decision making – and Ronaldo netted decisively before collecting a needless booking for bumping chests with Ichazo after the keeper almost saved his penalty.
Juve thought they had a second when Mandzukic converted Miralem Pjanic's free-kick at the back post, but Ronaldo flicked on from an offside position.