Toro were dealt a blow as Iago Falque missed out through injury, so he was replaced upfront by Simone Zaza.
Juventus had a great chance to take the lead however Cristiano Ronaldo's volley was tipped round the post by Salvatore Sirigu. Sirigu was struggling even to make that save after suffering an injury after a collision with Emre Can, and he was replaced in goal by Salvador Ichazo.
At the other end, Andrea Belotti's clever knock back from a corner almost gave Armando Izzo a chance to score, but the ball was smothered by a combination of Juventus defenders and Mattia Perin.
In the second half, Torino thought they should have had a penalty when Simone Zaza was clearly dragged back by Alex Sandro in the area. However, referee Marco Guida failed to consult VAR and waved play on.
At the other end, Ichazo was proving to be an able deputy and made an excellent save to deny Blaise Matuidi from close range.
However, the turning point occurred with twenty minutes remaining when Juventus were awarded a penalty after Ichazo upended Mario Mandzukic after Simone Zaza's weak back pass allowed the Croatian to intercept.
Cristiano Ronaldo scored the penalty, but was then booked following an incident where he made contact with goalkeeper Ichazo as part of his celebration.
Mario Mandzukic had a goal of his own disallowed for offside, but even that reprieve could not save Toro as they were unable to find an equaliser and fell to another derby defeat.