With Andrea Belotti injured, Simone Zaza was named in the starting eleven, with the injured Sasa Lukic dropping out from the team who beat Genoa last weekend.
Torino took a deserved lead mid way through the first half when Simone Zaza headed home Cristian Ansaldi's excellent cross.
Fiorentina started the second half well, and twice came close to equalising through Dušan Vlahović and Federico Chiesa. The Viola were made to pay for those misses as they were hit on the counter attack, and Cristian Ansaldi scored a fine individual goal from outside the area.
Fiorentina did manage to score a consolation goal in injury time, through former Southampton defender Martín Cáceres, but Toro managed to hold on for all three points.