Vincenzo Montella's side looked on course to build on an impressive 5-2 victory away at Genoa prior to the international break when Borja Valero broke the deadlock against Cagliari, nodding in at the far post after Giuseppe Rossi helped on a Massimo Ambrosini cross.
But Mauricio Pinilla came off the bench to power home a Victor Ibarbo cross with just a minute of normal time to spare as Cagliari claimed a share of the spoils.
Fiorentina's woes were compounded just moments later when David Pizarro was shown a second yellow card for dissent.
As well as losing Pizarro to suspension, Montella will also be sweating over the fitness of striker Mario Gomez and Juan Cuadrado, who both needed hospital treatment after picking up injuries.
Elsewhere, Lazio defeated Chievo 3-0 in Rome with a dominant performance despite fan protests at the beginning of the game.
Supporters left the Stadio Olimpico's famous Curva Nord stand empty for the start of the match to show their disapproval at the club's dealings in the transfer market.
On the pitch, Lazio eased to victory with first-half goals from Antonio Candreva, Luis Cavanda and Senad Lulic.
Genoa were just as ruthless in the day's evening kick-off, securing an emphatic 3-0 win at Sampdoria.
An early strike from Luca Antonini set Genoa on their way, before on-loan striker Emanuele Calaio extended their lead just after half-time.
The visitors made sure of the points after 65 minutes thanks to a well-struck Francesco Lodi free-kick, wrapping up a memorable night for Fabio Liverani's side.
Antonio Di Natale marked his 300th appearance for Udinese by salvaging a point for his side with a late goal in a 1-1 draw against Bologna, who went ahead after 71 minutes when Alessandro Diamanti stepped up to drive home a sweetly struck free-kick.
But Bologna were denied their first win of the season just five minutes from time when veteran Di Natale volleyed past goalkeeper Gianluca Curci.
In the day's other games, Hellas Verona condemned Sassuolo to their third consecutive defeat of the season with a 2-0 win, while a brace from Paulinho against Catania saw Livorno record their second win on the bounce with a 2-0 victory.