Juventus lead at the top of the SERIE A table cut short completely in the space of five minutes.Tight first half finished goalless after Zlatan Ibrahimovic had a goal ruled out for offside shortly before the break.
Adrien Rabiot striked a curling shot into the top-right corner two minutes after the restart, breaking the deadlock.
In the 62nd minute,AC Milan was awarded penalty that Zlatan converted to a goal following a handball from Leonardo Bonucci.
Also two quickfire goals from Franck Kessi and substitute Rafael Leo propelled their lead.
Giacomo Bonaventura capitalised on an error from Juventus defender Alex Sandro to set up Ante Rebic.
Next fixture will have Napoli host AC Milan.