Juan Cuadrado opened the scoring at the Stadio Artemio Franchi before Gonzalo Rodriguez's second-half penalty set La Viola on a course to win their first Serie A game in three attempts.
Bruno Fernandes ensured a nervous finale by surprising goalkeeper Neto with a cross-shot, but Fiorentina sensibly closed ranks to cling on to the three points.
Udinese, previously unbeaten in three games, were quick to take the initiative in Florence and Luis Muriel came close to opening the scoring after five minutes when bursting into the box with a piece of individual skill.
The Viola defence cleared and launched the ball upfield for Massimo Ambrosini, who shot wide from distance.
Fiorentina enjoyed an exciting double chance in the 13th minute.
First, Nenad Tomovic picked out Bryce Matos for a header that tested Simone Scuffet's reflexes, and Josip Ilicic then got hold of the rebound only to scoop the ball over the bar.
It was a missed opportunity, but Fiorentina made amends in the 25th minute as Cuadrado broke the deadlock.
The Colombian winger was grateful for a heavy deflection off Bianconeri defender Danilo as his long-range drive bamboozled Scuffet to sail into the net.
Ilicic could have helped make it 2-0 in the 38th minute, but his swerving free-kick bobbled through the Udinese area without a Fiorentina player managing to get a foot to it.
Moments before the break, Roberto Pereyra headed Thomas Heurtaux's cross just over the bar at the other end.
Udinese started the second half brightly and Fernandes was unlucky when missing the mark with a solid effort from Widmer's cross.
The hosts bit back and, after Scuffet punched Cuadrado's sighter to safety, Matos smashed Ilicic's pass wide on the volley.
There was another scare for Udinese when Heurtaux hit a soft backpass to Scuffet, but the teenage keeper gathered.
Fiorentina were, however, presented with the chance to double their lead when Danilo fouled Cuadrado in the penalty area on 70 minutes. Rodriguez made no mistake from the spot.
The Spaniard's radar malfunctioned six minutes later, however, and his connection with Ambrosini's pass to the far post lifted the ball up and over the bar when it had been easier to score.
While Fiorentina scratched their heads, Fernandes drifted the ball over Neto's head to give Udinese a fighting chance with eight minutes remaining.
The hosts appeared well-equipped to ride out the final throes, but might have dropped two points at the death.
Defender Heurtaux, who has scored three goals this season, powered his header from a corner into the stands five minutes into the seven added on for stoppages.