Noah Okafor scored a stoppage-time winner as Milan secured a dramatic 3-2 win over Udinese in a game marred by alleged racist abuse of Rossoneri keeper Mike Maignan.
In the first-half incident involving Maignan the keeper – after speaking to the referee – walked off the pitch, as play was suspended.
However, play resumed when Magnan re-emerged after discussion in the tunnel.
The visitors took the lead in the 31st minute when Theo Hernandez’s low cross was met by Ruben Loftus-Cheek, whose first-time deflected shot gave him his second goal in three games.
Udinese responded three minutes before half-time when Lazar Samardzic headed home from 20 yards, while Florian Thauvin completed the turnaround by beating Maignan from a tight angle in the 62nd minute.
However, Milan denied their opponents only their third league win of the season in dramatic fashion, with their two substitutes making the loss.
First, Luka Jovic scored the equalizer with seven minutes remaining.
Then in the third minute of stoppage time, a deep corner was delivered to the unmarked Okafor, who fired home a powerful strike that proved to be the winner as Milan reduced the gap to the top two of Serie A to four points.
Talking Point – Ton up for Pioli after Rossoneri’s late show in Udine
A late intervention from his substitute players gave Pioli a historic victory at the Blueenergy Stadium.
Indeed, it was his 100th in Serie A while in charge of Milan, becoming the fifth manager to achieve the feat after Carlo Ancelotti, Fabio Capello, Nerio Rocco and Nils Liedholm.
Pioli has achieved the feat in 166 matches, just one more than Ancelotti, while his team are now unbeaten in seven matches – winning each of the last four.
Player of the match – Ruben Loftus-Cheek
Loftus-Cheek produced an all-action display in the middle of the park. The former Chelsea midfielder timed his run to perfection for his third away goal of the season, just one less than he had managed in his nine previous campaigns in the five major European leagues.
Meanwhile, he was involved in a game-high 18 tackles, and no other player bettered his five tackles (tied with Wallace).
player rating
Udinese: Okoye 7; Joao Ferreira 5, Perez 6, Christensen 5; Ebosele 6, Lovric 6, Wallace 6, Samardzic 7, Kamara 6; Perera 4; Lucca 5. Sub: Thauvin 7, Ehizibu 5, Pyro 5, Success 5, Zarraga 5.
Milan: Megan 8; Calabria 5, Kjaer 6, Gabbia 6, Hernandez 7; Loftus-Cheek 8*, Edley 6, Rijnders 6; Pulisic 7, Giroud 7, Rafael Leao 6. Sub: Okafor 8, Florenzi 5, Jovic 7.
Milan highlights
31′- GOAL! Udinese 0-1 Milan (Loftus-Cheek): Hernandez finds himself in an advanced position down the left side. He cuts the ball across the box and Giroud releases it to the onrushing Loftus-Cheek, whose first-time shot takes a slight deflection before finding the back of the net.
42′- GOAL! Udinese 1-1 Milan (Samaradzic): Receiving the ball 35 yards from goal, the Udinese midfielder turns inside a challenge and advances to the edge of the penalty area, where he slots neatly into the bottom-left corner behind the flat-footed Maignan .
62′- GOAL! Udinese 2-1 Milan (Thouvin): Hernandez gets caught in a tangle right inside his own penalty area and Thauvin pounces on the loose ball. The substitute heads in at a tight angle, but his fierce shot goes past Maignan and into the back of the net.
83′- GOAL! Udinese 2-2 Milan (Jovic): Rafael finds Leo Hernandez, who cuts the ball back into the penalty area. That’s good for Giroud, whose deflected shot hits the crossbar and bounces off the line, but Jovic reacts quickly to head into the empty net.
90+3′- GOAL! Udinese 2-3 Milan (Okafor): Giroud’s speculative effort is thwarted by Okoye, who is helpless from the resulting corner. A deep delivery from the right is helped towards the unmarked Okafor, and he takes a touch before striking the ball in from close range.