A thumping first-half header from Matthijs de Ligt was cancelled out by Belotti's spectacular equaliser in the second half, leaving the Old Lady eight points behind Serie A leader AC Milan, having played a game more.
Belotti is out of contract at the end of the season and is expected to leave Torino, but the fans will wish him well if this proves his final contribution to the Turin derby.
Meanwhile, Massimiliano Allegri will not have been impressed with the showing from his side ahead of a UEFA Champions League Round of 16 first leg at Villarreal on Wednesday (AEDT).
Juve suffered a blow before the game kicked off with Daniele Rugani injured in the warm-up and replaced at centre-back by Alex Sandro, with Luca Pellegrini starting at left-back.
Torino made a strong start and would have been ahead were it not for Wojciech Szczesny's slight touch on a Josip Brekalo cross, taking it away from a waiting Belotti.
However, it was Juve that took the lead on 13 minutes when a looping Juan Cuadrado corner was headed in powerfully at the far post by De Ligt, who arrived with a towering leap.
The visitors began the second half well, too, and were level when Brekalo – a thorn in Juve's right side all game – got to the byline and found Belotti, whose acrobatic close-range shot squirmed under Szczesny's hand.
It was Torino that pushed for another goal until the final 10 minutes when the hosts finally came back to life, but they were unable to find a winner.