The Nerazzurri had to come from behind to keep the pressure up on leaders Roma courtesy of goals from Esteban Cambiasso and the Brazilian.
Giuseppe Rossi netted from the penalty spot to give Fiorentina the lead, but the advantage was short-lived as Esteban Cambiasso and a late Jonathan goal secured the three points for the hosts.
The victory, Walter Mazzarri's fourth in Serie A as Nerazzurri coach, puts the San Siro outfit in second place. It was Vincenzo Montella's first defeat of the campaign.
The result was kind to Inter, which made no changes to the side that thrashed Sassuolo 7-0 on Sunday, while Montella only tinkered with his team, introducing Joaquin for the dropped Rafal Wolski.
Japan defender Yuto Nagatomo fired an early warning shot for Inter, forcing Fiorentina goalkeeper Neto into a save within the first minute, but it was the visitors who would control the early proceedings.
Rossi had an early chance on goal, linking well with Joaquin before hitting a fierce drive that Inter goalkeeper Samir Handanovic had to palm away, and the duo paired up again shortly after. This time Handanovic had to keep out Joaquin, who was forced wide by Andrea Ranocchia, and the Spaniard also fizzed an effort across the face of goal as Fiorentina pressed for a goal.
Rossi and Manuel Pasqual – who hobbled off moments later - had further attempts on goal, with Inter restricted to half-chances and an acrobatic Fredy Guarin effort.
Fiorentina, which had continual joy down the right flank, deserved to be in front at the break, and Inter could have no complaints when the visitors took the lead just before the hour mark.
The goal came from the penalty spot, with Juan penalized for dragging down Joaquin, and Rossi stepped up to dispatch the spot kick with precision.
Just as Inter looked to be running short of ideas, Cambiasso produced a moment of brilliance with 18 minutes to play for the equalizer. Hugo Campagnaro won a crucial header among a dithering defense, and Cambiasso chested down before lashing a left-foot volley past Neto.
Campagnaro was then called on at the other end to make an important block that denied Rossi, while Borja Valero's superb cutback was thrashed straight at Handanovic by substitute Josip Ilicic.
And his save was vital, as Inter charged forward and took the lead thanks to a bullet finish from Brazilian defender Jonathan. Argentinian Ricky Alvarez played Jonathan in with a terrific ball from the left, and the scorer chested down and avoided the attempted interception by Matias Fernandez before he fired beyond Neto.
Alvaro Pereira and Cambiasso had further attempts on goal as Inter aimed to seal the result, while Ambrosini had a late effort for the losers, but Mazzarri's men held on.