Milan won an away game against the reigning European champions for the first time after claiming a stunning 3-1 victory against Real Madrid in the Champions League.
The result moves Milan to 18th in the table with six points from four matches, level with Madrid but one place behind them on goal difference.
Malick Thiaw put the visitors ahead in the 12th minute at the Bernabeu when he powerfully slotted home Andria Lunin from Christian Pulisic’s accurate corner.
But Milan’s joy was short-lived when Emerson Royal fouled Vinicius Junior in the box 11 minutes later, with the Brazilian leveling the game from 12 yards.
However, Paulo Fonseca’s side went into the break with the lead when former Madrid striker Alvaro Morata finished from close range after reacting quickest to Rafael Leo’s spilled effort.
Leao was again involved in Milan’s third, his drive ending with a smart cut to Tijjani Reijnders to seal victory for the Rossoneri.