Substitute Khouma Babacar's injury-time strike saw 10-man Fiorentina climb into third place in Serie A as they claimed a 2-1 victory over nine-man Inter Milan at the Stadio Artemio Franchi.
Marcelo Brozovic finished off a sweet passing move to give Roberto Mancini's side a first-half lead before Borja Valero headed in Josip Ilicic's cross to equalise for the hosts.
In an eventful end to the game, Galatasaray loanee Alex Telles was shown a second yellow card before Babacar came off the bench to pounce on fellow substitute Mauro Zarate's saved effort to score the winner at the second time of asking.
Zarate was then given a straight red moments later after an off-the-ball incident with Jeison Murillo.
Referee Paolo Silvio Mazzoleni then gave Inter midfielder Geoffrey Kondogbia his marching orders in the closing stages for dissent.
In a game between two teams fighting for a Champions League spot, four yellow cards were handed out in a tense opening before the Nerazzurri went in front.
Brozovic, who is on loan from Dinamo Zagreb, played a neat one-two with Kondogbia in their own half before surging forward to find Rodrigo Palacio on the left wing. The Argentinian was found by a neat Kondogbia through-ball before his cross was blasted home by the 23-year-old loanee.
The visitors would defend in numbers as Paulo Sousa's men pushed forward in search of an equaliser. The Viola got their reward early in the second half when Illicic's lofted ball from the right found Borja free to head home.
With both teams looking set to share the spoils, Babacar popped up to score in the first minute of injury time amid the bad-tempered finale.