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.
Juve keeper Buffon ruled out for a month
Juventus and Italy goalkeeper Gianluigi Buffon has been ruled out for a month with a thigh injury, the Serie A club said in a statement on Wednesday.
Buffon, who was hurt in training, will miss Italy's friendly with Cameroon next Wednesday.
Alex Manninger will step in for Juve, who have won three games in succession under new coach Alberto Zaccheroni following a dreadful run of form.
Huntelaar double helps Milan beat Udinese
Ronaldinho ignored for Ireland friendly
Fiorentina face Bayern challenge
AC Milan have advantage of experience: Ferguson
Bayern snatch late win over defiant Fiorentina