Ten-man Fiorentina scored two late penalties in a 2-2 draw at home to Milan on Sunday to dent the Rossoneri's bid for a second place finish in Italy's Serie A.
Milan took a deserved lead in the 14th minute thanks to former Viola midfielder Riccardo Montolivo and were given a further boost when Nenad Tomovic saw red on 39 minutes for an apparent elbow to the face of Stephan El Shaarawy.
The visitors doubled their lead just after the hour thanks to Frenchman Mathieu Flamini, only for Adem Ljajic and David Pizarro to score one each from the spot in the closing stages to earn a share of the points.
Milan's seventh draw of the season leaves Massimiliano Allergri's side in third, 13 points behind leaders Juventus and one adrift of Napoli ahead of the Partenopei's home fixture against Genoa on Sunday.
Fiorentina, meanwhile, maintained their push for a place in Europe but could give up fourth place to Inter if the Nerazzurri beat Atalanta.
Allegri admitted the Rossoneri had played better when Fiorentina were at full strength.
"We were in control of things in the first half but we failed to capitalise after going a man up," he told Sky Sport Italia.
"Then in the second half Fiorentina caught us napping. It's a pity because a win would have pushed Fiorentina further out of the race for third place."
Milan began in positive fashion and Fiorentina required a timely intervention from Pizarro to stop Flamini from connecting with a cross metres from goal.
Kevin Prince Boateng, sporting a new dyed-blond haircut, then saw his low drive from 20 metres hit the back of the net only to be ruled offside.
When Milan broke the deadlock, they did so in style.
Montolivo dispossessed Chilean midfielder Pizarro 25 metres out and coolly beat Emiliano Viviano low to the 'keeper's right.
However, despite dominating Milan failed to capitalise on several other chances before half-time.
A Balotelli free kick sailed metres over Viviano's crossbar and Sulley Muntari saw his long-range effort saved after Boateng had won possession in midfield.
Muntari then flirted with a straight red card on the half hour following a rash challenge on striker Stevan Jovetic, who was passed fit despite suffering an injury last week which left him doubtful.
It gave the hosts a free kick 35 metres out and Christian Abbiati was quick to cover at his left post as Manuel Pasqual's effort inched past.
Fiorentina were struggling to make any kind of impact but just before the interval a superb effort from Jovetic forced Abbiati to save in unorthodox fashion.
The game seemed to take a decisive turn in Milan's favour when Serbian defender Tomovic saw red for an apparent elbow on El Shaarawy as the pair fought for possession 20 metres out.
Things turned nasty when Juan Cuadrado was cautioned for a foul on Balotelli, and then Muntari was shown yellow for another foul on Jovetic, who was replaced by Brazilian Romulo on the stroke of half-time.
Despite being a man down Fiorentina emerged with more purpose after the break but it was Milan who doubled their advantage when Flamini turned Montolivo's cross into the net on 62 minutes.
Fiorentina were handed a lifeline when Milan midfielder Antonio Nocerino was adjudged to have fouled Ljajic in the box, the Serbian striker stepping up to beat Abbiati from the spot.
It appeared a kind decision for Fiorentina but there was no doubt when Mattia De Sciglio tripped Cuadrado in the box shortly afterwards.
Abbiati got a hand to Pizarro's effort but could not stop the ball hitting the back of the net.