Catania came from behind to deny Vincenzo Montella any joy on his return to the Stadio Angelo Massimino as 10-man Fiorentina slipped out of Serie A's top five.
Viola boss Montella guided Catania to a surprise 11th-placed league finish last season but Giulio Migliaccio put the 39-year-old's current club on the road to victory with a first-half header.
Nicola Legrottaglie pegged the visitors back shortly after the break, with Alberto Aquilani's late dismissal proving costly as Lucas Castro snatched the winner two minutes from time.
Catania climb to seventh in the table, one point and one place shy of Fiorentina, who are quickly sliding out of the race for Europe having been leapfrogged by AC Milan.
Catania took the early initiative, Alejandro Gomez bursting free down the right wing to pick out Pablo Alvarez, who could not find the target.
Fiorentina may have started under the cosh but they opened the scoring in the 22nd minute. Migliaccio's timing was impeccable as he met Manuel Pasqual's cross with a bullet header after it had evaded every Catania defender.
Adem Ljajic was closed out by Giuseppe Bellusci at the end of a jinking run before referee Domenico Celi made two controversial calls.
A coming together between Bellusci and Pasqual in the visitors' box sparked vociferous claims for a penalty, but instead the Catania man was booked for diving.
Ljajic burst into the area once again, only to stumble over his feet and those of Legrottaglie two steps from goal. Celi waved play on.
Catania might have found their equaliser before the break but Gomez's acrobatic attempt to convert Ciro Capuano's cross left much to be desired.
The Sicilians levelled five minutes into the second half, Legrottaglie anticipating Viola keeper Neto to glance home an easy header.
Fiorentina responded brightly and Aquilani came within inches of converting Ljajic's free-kick to wrestle back the lead.
The siege continued and Catania goalkeeper Mariano Andujar reacted well to Juan Cuadrado's right-footed drive before anticipating Stevan Jovetic's header from a corner.
With full-time fast approaching, Aquilani saw red for overzealously protesting Celi's decision to award Catania a free-kick.
And the Rossazzurri wasted no time in making the most of the extra man, Pablo Barrientos launching a ball forward to Castro, who beat the challenge of Facundo Roncaglia to fire home a timely winner.