Milan completed an extraordinary comeback from 2-0 down to go 3-2 up in just six minutes, eventually beating Juventus 4-2 to keep the Scudetto race alive.
Samu Castillejo was injured and Hakan Calhanoglu only fit for the bench, so the Rossoneri went all-out attack with Zlatan Ibrahimovic, Ante Rebic and Lucas Paqueta together after their 3-0 win over Lazio. Juve had the opportunity to go 10 points clear at the top with a victory at San Siro, but Paulo Dybala and Matthijs de Ligt were suspended, with Alex Sandro and Giorgio Chiellini not 100 per cent, so Gonzalo Higuain and Daniele Rugani started. Sami Khedira, Mattia De Sciglio and Merih Demiral were long-term absentees.
These sides had already met three times this season, a 1-0 Juve win in the reverse fixture and two draws (1-1 at San Siro, 0-0 in Turin) for the Coppa Italia semi-final. Milan had lost 13 of their last 14 Serie A meetings with Juve going into this clash.
Leonardo Bonucci only grazed his head to the Federico Bernardeschi cross at the back post, then Cristiano Ronaldo cut inside down the left for a right-foot scorcher deflected just wide.
Ibrahimovic twice fired straight at Wojciech Szczesny, then got back to defend on Ronaldo’s stooping header, after which Higuain fired over.
Simon Kjaer bravely got his face in the way of a Danilo thunderbolt from the edge of the box at the end of a well-worked team move, with plenty of one-touch football.
Another smart move sparked by Ronaldo’s back-heel flick for Danilo ended with Theo Hernandez getting a decisive block on Higuain’s turn from the edge of the area.
With the last move of the half, Ibrahimovic had the ball in the net, but had wandered just offside on the through ball.
Calhanoglu replaced Paqueta after the restart, but it was Juve who went in front with a sensational Rabiot solo effort. The Frenchman had shown so little of his talent since the move from PSG, but he gathered the ball in midfield, ran forward shaking off tackles and passed it into the top corner from the edge of the box.
Just six minutes later, Milan self-destructed, as Alessio Romagnoli and Kjaer collided when going for the same Juan Cuadrado ball over the top, allowing Ronaldo to fire in undisturbed for 2-0. It was his 21st goal in 17 Serie A appearances.
They tried to fight back, though Calhanoglu’s shot was deflected from a promising position, as he hesitated too long on the Rebic counter.
VAR was called into action when Rebic redirected a Theo Hernandez cross with his chest on to Bonucci’s elbow, which was jutting out from the body. Under the latest interpretations, that was considered handball and Ibrahimovic converted the resulting penalty.
It sparked an extraordinary turnaround, because in the next six minutes, Milan had gone from 2-0 down to 3-2 up. First Rebic nutmegged Cuadrado, Ibrahimovic flicked it on and Franck Kessie rode a tackle to break clear, beating Szczesny one-on-one.
Moments later, Rebic seemed to be fouled, but the referee played the advantage for substitute Rafael Leao, who surprised Szczesny at the near post with a slight deflection off Rugani.
Milan almost went 4-2 up, as Rebic ran on to a through ball, forced a tricky Szczesny save at full stretch, then desperate defending prevented both Leao and Giacomo Bonaventura from turning in the rebound.
Douglas Costa shimmied between two defenders, forcing Alessio Romagnoli to clear the ball into Kjaer’s face from point-blank range. On the resulting corner, Daniele Rugani’s header looked as if it had to go in, but Gigio Donnarumma clawed it off the line with a sensational reaction save.
Instead, Juve gifted it to Milan, because Alex Sandro’s awful pass across his own penalty area was intercepted by Bonaventura, who set up Rebic to fire in from 12 yards for 4-2.
Juve tried to pour forward, but without much organisation, while Calhanoglu’s free kick stung Szczesny’s gloves. Deep into stoppages, Ronaldo had the ball in the net, but only after he wandered offside.
See the latest Serie A predictions and betting tips with Eurotips.co.uk