Walter Mazzarri's side had been on course for a first win away to the champions since 1995 thanks to Sasa Lukic's first goal for the club in the first half.
Ronaldo – who had come close before the interval – popped up late on, though, heading in from six yards to preserve his team's unbeaten home record in the league this season.
Despite that goal, the Bianconeri's campaign is in danger of fizzling out in underwhelming fashion, with their win over Fiorentina on April 20 – a result that confirmed their eighth successive league title – their only success in the past six games across all competitions.
Torino started in confident mood and, after Andrea Belotti had tested Wojciech Szczesny with an early angled drive, forged ahead after 18 minutes.
After being put under pressure by Joao Cancelo's sloppy throw-in, Miralem Pjanic was shrugged off the ball inside his own penalty area by Lukic, who superbly whipped past Szczesny from 12 yards.
That goal woke the hosts from their slumber and they twice came close to drawing level soon afterwards – Blaise Matiuidi's volley pawed away by Salvatore Sirigu and Ronaldo fizzing just wide from 25 yards.
Leonardo Spinazzola dragged wide from 20 yards after an hour for Massimiliano Allegri's men, while Moise Kean's low 77th-minute effort was too close to Sirigu.
With Torino seemingly on course for a famous win, Ronaldo climbed highest at the back post to convert Spinazzola's left-wing cross for his 21st league goal of the campaign.
What does it mean? Juve's season ending with a whimper
It is little surprise Juventus have lost some of their spark, an eighth-consecutive Scudetto having long been a formality. However, a derby clash really should have been enough to inject some life into Allegri's spluttering side. They were well off the pace, though, and were lucky to scrape a point – Ronaldo on hand to rescue them as he did in the Derby d'Italia against Inter last time out.
Torino, meanwhile, will be left to rue a potentially fatal blow to their hopes of securing a top-four spot. They are two points behind fourth-place Atalanta, who have a game in hand.
Lukic off the mark
Given the composure he showed to bend a shot around Szczesny, it is something of a shock that the 22-year-old has had to wait until his 56th appearance to score his first goal for the club. Expect this one to be the first of many.
Pjanic's moment of panic punished
Juve's recent malaise was perfectly summed up by Pjanic's failure to adequately deal with Cancelo's throw-in for Torino's opener. Lukic ruthlessly took advantage of the Bosnian's hesitancy to open his account for the club.