After weathering an early storm, Parma took the lead through Antonio Cassano in the 39th minute, but Juan Cuadrado levelled almost immediately.
Amauri put Parma in front once again before Viola defender Modibo Diakite was sent off.
Mati Fernandez levelled for the visitors five minutes from time before Gianni Munari and Borja Valero were dismissed in a tense finale.
Fiorentina started brightly and pegged Parma back in their own half almost permanently through 30 minutes.
For all their excellent build-up play, they lacked a cutting edge with David Pizarro showing a particular reluctance to take a shot on goal, despite the ease with which he was able to waltz through the Parma defence.
Alberto Aquilani was unable to get Alessandro Matri through on goal either as the Viola failed to turn their dominance into goals.
Parma punished them by taking the lead with only their second shot of the game, after Jonathan Biabiany's curled effort missed the target, when Amauri cut into the area from the left and pulled the ball back to Cassano, who turned it home from eight yards out.
Their joy was short lived, though, with Fiorentina levelling within two minutes.
Aquilani sent Matri down the left and his powerful cross was met beyond the near post by Cuadrado, who found the target despite the tight angle and speed of the delivery.
Parma regained the lead early in the second half when a foul by Pizarro gave them a penalty.
Amauri stepped up to send Neto the wrong way, putting Parma in front for a second time.
It looked like they would keep their lead this time when Fiorentina were reduced to 10 men with Diakite picking up his second booking, but the visitors did not give up and Mario Gomez was sent on as Viola boss Vincenzo Montella gambled with an extra striker.
Their pressure paid off with Fernandez curling a 25-yard free-kick beyond the reach of Antonio Mirante to bring Fiorentina level again five minutes from time.
Tempers flared going into stoppage time and the referee brandished his red card twice to send Munari and Valero off seconds before ordering the remaining 19 players down the tunnel with the final whistle.