Milan slipped down the Serie A table after an action packed 2-1 defeat to Fiorentina.
Scorers: Adli 35′, Guðmundsson 73′; Pulisic 60′
Sent off: Hernández
A cagey opening sparked into life when the hosts were awarded a penalty for Theo Hernández’s challenge on Dodô.
Moise Kean spurned a chance to put La Viola ahead from the spot kick as Mike Maignan guessed correctly to deny him.
Raffaele Palladino’s side later took the lead as Yacine Adli returned to haunt his parent club with a surging run and strike.
The Rossoneri were later awarded a penalty deep in first-half added time after Luca Ranieri bundled over Tijjani Reijnders.
But David de Gea guessed correctly to deny Hernández a chance to become the visitors’ most prolific defender in his own right.
A second shot at redemption presented itself early in the second half after Kean had caught Matteo Gabbia inside the area.
Tammy Abraham stepped up but was again denied by De Gea, who produced a strong stop to keep his side in the lead.
Milan finally drew level on the hour mark courtesy of Christian Pulisic’s well-taken volley from a Hernández delivery.
However Albert Guðmundsson drilled a half-volley beyond Maignan to restore his side’s advantage in the final 20 minutes.
Palladino was dismissed from the touchline in the closing stages while Hernández incurred a retrospective sending-off after the final whistle.
Fiorentina move up one position to tenth in the table while Milan slid from third to sixth, five points adrift of leaders Napoli.