Fiorentina kept possession in the opening stages, but the home side began to push forward in search of an early goal.
Claudio Marchisio found Tevez again on 24 minutes with an intelligent pass, the Argentine connected with the cross, but the finish was poor.
Juve continued to press the away side and came close again through Asamoah, who latched onto a pass and saw his powerful strike saved by Neto.
Fiorentina worked an opening for Juan Vargas, but his strike from distance was blocked well by an alert defence.
Juve eventually took the lead on 43 minutes when Asamoah cut inside and burst into the box before firing a shot that looped into the net.
The intensity of the game seemed to drop in the second half as both sides struggled to keep hold of the ball.
Paul Pogba created himself some space on 70 minutes, but his strike was straight at Neto and easily kept out.
Juve struggled to create anything going forward as the tempo of the game continued to stutter.
Fiorentina had a good chance to equalise on 80 minutes when Matos sent a header towards goal and hit the crossbar.
The away side began to push for a late equaliser, but Antonio Conte's men held on and stood firm in defence to secure the points.