Luis Muriel struck a stunning stoppage-time winner for Atalanta as they beat AC Milan 3-2 in a pulsating contest in Bergamo.
Gian Piero Gasperini’s side twice led through Ademola Lookman but Milan looked to be taking a point as they hit back through Olivier Giroud and Luka Jovic.
However, Rossoneri captain Davide Calabria was sent off in stoppage time and moments later Atalanta sealed victory for the first time in five matches as Muriel cheekily backheeled past Mike Maignan from close range.
Giroud had an early chance for Milan well blocked from close range after Christian Pulisic’s cross.
Charles De Ketelaere then missed an incredible chance to give Atalanta the lead eight minutes in as Lookman nodded the ball down and the Belgian somehow steered it over the bar from four yards.
Despite Milan’s domination of possession it was Atalanta who took the lead after 38 minutes when Lookman fired goalwards and his effort struck the leg of Fikayo Tomori and looped up over goalkeeper Maignan into the net.
But in first-half stoppage time Milan drew level as Giroud met Alessandro Florenzi’s corner and planted a powerful header from 12 yards beyond the reach of Juan Musso.
It sparked fury from Atalanta supporters and players, with the hosts aggrieved at being denied a free-kick in the passage of play before the corner when Yunus Musah collided with Lookman.
Both sides started the second half well, with Giroud prodding wide from Ruben Loftus-Cheek’s pull-back before former Milan midfielder Mario Pasalic’s deflected effort flew wide.
Giorgio Scalvini launched a fierce drive which was well tipped over by Maignan before the hosts went ahead again 10 minutes after the restart.
Lookman popped the ball out left to De Ketelaere, who whipped it across the six-yard box for the 26-year-old to guide in first time.
Atalanta remained the biggest threat and Lookman should have had his hat-trick to put the game to bed 14 minutes from time.
Scalvini’s determined run resulted in a shot which was parried by Maignan, who scurried across the line to deny Lookman from the rebound but the ball fell back to the winger who blasted wide from four yards out.
Just four minutes later Milan made them pay as Pulisic crossed low for substitute Jovic to sweep in from the centre of the area.
In stoppage time, Calabria was shown a second yellow card for a tackle on Aleksei Miranchuk and Atalanta capitalised as the Russian’s run forced the ball into Muriel’s path and the Colombian’s improvised finish earned three points for Atalanta.
Milan’s next task is a trip to Newcastle on Wednesday, needing a win to stand any chance of making the knockout stage of the Champions League, while Atalanta face Polish side Rakow Czestochowa in the Europa League on Thursday.