Milan saw their Serie A top-four hopes dealt a blow after Nicolas Gonzalez and Luka Jovic proved the difference in a 2-1 win for Fiorentina on Saturday.
Stefano Pioli s side had reeled off three straight league wins but came unstuck at Stadio Artemio Franchi with an underwhelming display.
Gonzalez s 49th-minute penalty was no less than Vincenzo Italiano s hosts deserved before substitute Jovic put the game beyond Milan, despite Theo Hernandez s stoppage-time strike.
Defeat left Pioli s men 18 points adrift of runaway leaders Napoli and looking over their shoulders at fifth-placed Roma, who could move level with victory against Juventus on Sunday.
— ACF Fiorentina English (@ACFFiorentinaEN)
Fiorentina were unable to reap the rewards of their first-half dominance against a Milan defence that had not conceded since February 5.
Giacomo Bonaventura was a constant threat against his former side, with Mike Maignan pushing away his free-kick and Fikayo Tomori clearing the midfielder s bobbling close-range finish off the line.
Milan offered little in response yet Pietro Terracciano still had to be alert to thwart Olivier Giroud s inventive left-footed volley.
Fiorentina s pressure told after the interval, though. Tomori dragged down Jonathan Ikone inside the area and Gonzalez rolled into the bottom-right corner from 12 yards.
An apparent Arthur Cabral handball seemed to offer Milan late hope, but the referee overturned his original penalty decision.
Jovic then headed in from Dodo s right-wing cross soon after, rendering Hernandez s subsequent thumping left-footed effort a mere consolation in a disappointing Milan defeat.
What does it mean? Rossoneri revert to familiar failings
A seven-game winless run at the start of 2023 – including humbling defeats to Inter, Lazio and Sassuolo – raised questions over the Serie A champions capabilities this term.
While regaining the Scudetto resembles a pipedream, given Napoli s dominance in Italy this campaign, Pioli s side may have taken comfort from their response to a woeful period.
But the Rossoneri reverted to previous struggles with a toothless performance punished by Fiorentina, who won for only the fourth time in 17 home games against Milan.
Bonaventura haunts former side
Bonaventura seemed to have a point to prove against Milan, whom he played for between 2014 and 2020 after leaving Atalanta.
The Italy international twice went close in the first half and created a game-leading three chances in an impressive display against his former employers.
Tomori troubles
Tomori kept Milan in the contest with a last-ditch block against Bonaventura in the first half, but that intervention perhaps belied an otherwise poor showing.
The centre-back gave away the penalty for Fiorentina s opener after being easily beaten by Ikone and won just half of his six duels amid a performance that had him often looking awkward at the back.
What s next?
Milan take a slender 1-0 Champions League last-16 lead to Tottenham on Wednesday, while Fiorentina host Sivasspor in the first leg of their Europa Conference League round-of-16 clash a day later.