Pato pounces to send Milan second
Milan have cut the gap on leaders Inter Milan to four points having played the same number of games.
AS Roma, in third, are five points off the pace.
Brazilian striker Pato struck when he was left alone in the area following a cross from the again-impressive Ronaldinho.
Former Milan striker Alberto Gilardino poked the ball home for mid-table Fiorentina on 14 minutes after Stevan Jovetic's scuffed shot and Milan had to wait until nine minutes from time for substitute Klaas-Jan Huntelaar to equalise.
The Dutchman netted after a one-two with Ronaldinho.
Fiorentina were unfortunate, having largely dominated chances and possession.
Elsewhere, unheralded Cagliari wasted the opportunity to climb into fourth spot by losing 2-1 at struggling Udinese, who had coach Pasquale Marino on the bench after replacing the sacked Gianni De Biasi at the weekend.
Diminutive Brazilian striker Jeda nodded Cagliari ahead early in their game in hand but Alex Sanchez and Serie A top scorer Antonio Di Natale hit back in quick succession midway through the second period.