Juventus travelled to the Stadio Olimpico after their year-long unbeaten record away from home ended with a shock 2-1 Champions League defeat by Young Boys in Bern.
But Ronaldo slotted in his 11th league goal this season, and 5,000th for Juventus in Serie A, after 70 minutes after Torino goalkeeper Salvador Ichazo fouled Mario Mandzukic.
Juvenuts are now 11 points ahead of second-placed Napoli, who travel to Cagliari on Sunday.
Inter Milan are third, 14 points behind the leaders, after Mauro Icardi's 76th-minute penalty sealed a 1-0 win over Udinese earlier Saturday.
Torino's hopes of a rare 'Derby della Mole' victory took a knock when goalkeeper Salvatore Sirigu hobbled off injured after 20 minutes, to be replaced by Ichazo.
Sirigu had hurt his hip and aggravated it further by pulling off a save of a Ronaldo volley. The 31-year-old tried to continue before being replaced by Uruguayan Ichazo.
Torino proved dangerous for the champions with Andrea Belotti forcing a one-handed save from Juventus goalkeeper Mattia Perin, with Armando Izzo nodding over after 51 minutes.
But a poor backpass from Simone Zaza to Ichazo saw the Torino goalkeeper foul Mandzukic and five-time Ballon d'Or winner Ronaldo made no mistake from the spot.
The Portuguese is now level with Serie A's top scorer Krzysztof Piatek of Genoa on 11 goals.
Croatian World Cup runner-up Mandzukic thought he had scored a second four minutes later when he had the ball in the back of the net, but was ruled offside.
It was the seventh straight league win for unbeaten Juventus since being held by Genoa.
Torino stay sixth, four points off the Champions League berths, after their fourth defeat of the season.