Tidligere United-målmand bliver helt i italiensk gyser: Redder to straffespark mod Milan
Rossoneris og Frankrigs målmand Mike Maignan reddede et straffespark fra Moise Kean midt i første halvleg, men det var ikke nok.
Den franske midtbanespiller Yacine Adli bragte nemlig Viola foran med et mål i det 35. minut foran sine tidligere holdkammerater, efter at han var kommet til Firenze på lån.
Milan var tæt på at udligne i første halvlegs overtid, men franskmanden Théo Hernandez' straffespark blev afværget til hjørnespark af spanske David de Gea.
Den tidligere Manchester United-målmand reddede endnu et straffespark fra Tammy Abraham i det 56. minut, før han endelig blev passeret fire minutter senere af amerikanske Christian Pulisic.
Men Islands Albert Gudmundsson genskabte hjemmeholdets føring i det 73. minut, og så var sejren hjemme for Firenze-mandskabet.
AC Milan, som blev slået 1-0 af Bayer Leverkusen tirsdag, havde vundet alle sine tre foregående Serie A-kampe og ligger nu på sjettepladsen med 11 point, fem point efter førerholdet Napoli, som har nydt godt af rivalernes svipsere.
Fiorentina ligger på 11. pladsen med 10 point.