Khouma Babacar bundled home a stoppage time goal to give Fiorentina a last-gasp 2-1 win over out-of-sorts Inter Milan in a Serie A game which featured three red cards on Sunday.
Inter, who led Serie A at Christmas have won only one of their last seven league games, went ahead through Marcelo Brozovic before Borja Valero and Babacar turned the game around.
Earlier, Keisuke Honda gave AC Milan a 2-1 win over Genoa at a half-empty, soggy San Siro and Giovanni Bosi got off to a losing start as Palermo's fifth coach of the season when the Sicilians were beaten 3-1 at home to Torino.
Honda's 30-metre strike was the Japanese midfielder's first Serie A goal for 18 months.
Fiorentina's win took them up to third place with 49 points, followed by AS Roma (47), Inter (45) and AC Milan (43). The top two teams qualify for the UEFA Champions League group stage and the team in third earns a place in the playoff round.
Titleholders Juventus lead with 57 points after Saturday's dramatic 1-0 win over second-placed Napoli, who are one point behind.
Inter survived three near misses, including a superb goal-line clearance by Alex Telles, before Brozovic lashed home Rodrigo Palacio's cross against the run of play in the 26th minute.
Valero headed Fiorentina level on the hour and Inter's frustration boiled over when Telles was sent off for a second bookable offence in the 82nd minute.
With the game in stoppage time, Mauro Zarate's shot was spilled by Samir Handanovic and Babacar managed to scramble the ball home despite close marking by two defenders.
As Fiorentina clung on, Zarate was sent off for putting his hand around Jeison Murillo's neck in a scuffle at a throw-in.
Inter midfielder Geoffrey Kondogbia followed when he went to referee Paolo Mazzoleni and sarcastically applauded the official on the final whistle.
Carlos Bacca gave Milan a fifth minute lead with his 13th goal of the season and Honda scored with a 30-metre strike which bounced awkwardly just in front of Mattia Perin and flew into the net in the 64th minute.
Milan were given a scare when Alessio Cerci pulled one back in stoppage time, bundling the ball over the line after 16-year-old goalkeeper Gianluigi Donnarumma parried Tim Matavz's shot.
Milan then had to cling on, infuriating coach Sinisa Mihajlovic who accused some of his players of slacking.
"I don't need to give names, they know who I'm referring to," he told Mediaset Premium, although he refused to confirm that one of them was late substitute Mario Balotelli.
"I didn't say it was him," he said. "I'm talking about two or three players and they know who they are."
Alberto Gilardino gave Palermo a second minute lead but Torino replied with two goals from Ciro Immobile, the first a penalty, and an own goal by Giancarlo Gonzalez.Published 15 Feb 2016, 09:43 IST