Torino reduced arrears just after the hour when Peres pounced on Giuseppe Vives’s cross to lob Pepe Reina, who got a hand to the ball before it hit the net.
But the hosts failed to produce a late leveller and instead finished with 10 men after Vives saw red for a second bookable offence at the death.
Toni, meanwhile, was the toast of Verona after bringing down the curtain on his storied career with a cheeky 43rd-minute ‘Panenka’ chip that beat second-choice Juve keeper Norberto Neto in a 2-1 win.
“I didn’t know whether to shoot it right or left, so I opted for the ‘scavino’ (chip),” said Toni.
With perhaps one eye already on their Italian Cup final against AC Milan on May 21, Juventus conceded a second on 55 minutes when Federico Viviani found the net from the edge of the area.
Juventus, who had not conceded two league goals since a 3-2 win over Carpi in December, finished with 10 men after Alex Sandro saw red for a second yellow card.
The visitors scraped a late goal thanks to Paulo Dybala’s spot-kick, after Filip Helander had shoved Simone Zaza to the ground.
Less than 10 days before trying to secure a second consecutive double, Juve coach Massimiliano Allegri said: “We should have done a lot better, but this defeat will serve us well.”
Earlier Sunday, fans turned out to pack the Stadio Olimpico as Francesco Totti made his 600th Serie A appearance with Roma.
It could have been the 39-year-old’s final game at the Olimpico amid hesitation from the club to offer a 24th and final year of contract.
Only Inter Milan legend Javier Zanetti (615) and AC Milan great Paolo Maldini (647) have made more appearances in Serie A.