AC Milan rallied back from two goals to stun Serie A leaders Juventus 4-2 at the San Siro on Tuesday evening.
Paulo Dybala’s suspension allowed a run out for countryman Gonzalo Higuain, with Daniele Rugani making his first start since resumption.
Juventus closed in to a ninth minute breakthrough from an in-swinging free-kick by Federico Bernardeschi, but Leonardo Bonucci narrowly missed.
Zlatan Ibrahimovic almost had Milan ahead from a snap-shot off a loose ball inside the area, Juventus shot-stopper but Wojciech Szczesny got down for the save at the midway stage.
Ibrahimovic raced through the defence to go clear and picked the far corner, but was flagged for offside with the last kick of the half.
Juve started the second half in fine fashion when Adrien Rabiot darted down the right from his own half, cut goal-side before drilling into the top corner for the game's opening goal.
After a quiet evening, Cristiano Ronaldo stepped forth with the second goal with a first-time finish following a defensive blunder inside 53 minutes.
Milan were given a lifeline when Ibrahimovic sent Szczesny the wrong way from the penalty spot six minutes later after the Video Assistant Referee penalised Bonucci for handling in the area.
The equaliser came five minutes later when Franck Kessie played a one-two with Ibrahimovic to slot in off the post.
The game turned a minute later when Rafael Leao drifted in from the left side after getting onto a loose ball to fire home.
Milan then stretched the advantage further ahead when a misplaced ball from Alex Sandro found Ante Rebic who lashed home from inside the area ten minutes from time.
The victory strengthens the Rossoneri’s top-six chances whilst Juve fail to extend their lead to 10 points after Lazio suffered a 2-1 defeat at Lecce.