The pressure was on for Juve and manager Massimiliano Allegri after their 2-0 Champions League loss at Maccabi Haifa but a lacklustre first-half performance gave the injury-ridden visitors little cause for optimism.
They were without Angel Di Maria, who has a hamstring injury and will be out until early November. The Argentine playmaker was missed as Juventus's midfield struggled to create chances and gave Torino space to attack.
The first 45 minutes of the Turin derby brought little to cheer for either side, Torino's few half-chances around the box being snuffed out by the Juve defence.
- Notebook: The inside stories from world football
Milinkovic was again in focus after the break when he managed to push over Locatelli's bouncing shot that was on its way into the top corner.
Moise Kean was close to giving Juventus the lead after 62 minutes but did not manage to get his close-range shot on target.
Vlahovic lost his marker in the 74th minute and tapped the ball in from close range after an assist from Danilo, securing a much-needed win for Allegri's team.
Juventus climbed to seventh in Serie A with 16 points having played one game more than the teams above them, seven points behind leaders Napoli. Torino are 11th on 11 points.