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 the Viola lead, but their 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 second while it was Fiorentina boss Vincenzo Montella's first defeat of the campaign.
The result was kind on Inter, who 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 the opener.
Rossi and Manuel Pasqual - who hobbled off moments later - had further attempts on target, with Inter restricted to half-chances and an acrobatic Fredy Guarin effort.
Fiorentina, who had continual joy down the right flank, deserved to be in front at the break, and Inter could have no complaints when they took the lead just before the hour-mark.
The goal came from the penalty spot, with Juan penalised for dragging down Joaquin, and Rossi stepped up to dispatch the spot-kick past Handanovic with precision.
Just as Inter looked to be running short of ideas, Cambiasso produced a moment of brilliance with 18 minutes to play for their equaliser.
Hugo Campagnaro won a crucial header among a dithering defence, 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 cut-back 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.
Argentine 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 Viola, but Mazzarri's men held on.