Zlatan Ibrahimovic starred before being sent off as AC Milan consolidated their place in the top four with a 3-1 victory at Parma.
It took Milan just eight minutes to break the deadlock when Ante Rebic grabbed his sixth goal of the season with a beautiful strike set up by Ibrahimovic's lovely reverse pass.
Stefano Pioli's side were almost out of sight by the break and Ibrahimovic was involved once more as Franck Kessie doubled the visitors' advantage in the 44th-minute, the Swede holding the ball up to exchange passes with Theo Hernandez, who fed Kessie and he did the rest, finishing from close range.
Ibrahimovic begins recovery after 'successful' knee surgery
- Alexander-Arnold scores dramatic late winner as Liverpool finally end Anfield curse
- 10-man Leeds stun Man City
- Kane wants to leave Spurs this summer - report
After a dismal first half performance, Parma came to life five minutes after the restart and Milan had Gianluigi Donnarumma to thank for a remarkable double save to deny Andrea Conti and maintain the clean sheet.
Milan were forced to play the last half-hour a man light after Ibrahimovic was shown a straight red, presumably for something he said to referee Fabio Maresca in an extraordinary moment in an otherwise tame affair.
And just six minutes later Riccardo Gagliolo halved the advantage to set up a nervy finale. But as Parma committed players forward in search of a last-gasp equaliser, they were caught short defensively as substitute Rafael Leao secured the points with the last kick of the game.
The win - Milan's 13th on the road this term - moves them seven points clear of fifth-placed Napoli and closes the gap on Inter to eight points although their rivals have a game in hand.
TALKING POINT - Jekyll and Hyde display from Ibra as Milan earn crucial victory
Where Ibrahimovic is concerned, unfortunately you have to take the good with the bad. With reports suggesting he is on the verge of signing a new contract with the Rossoneri, the veteran demonstrated why he is still in demand at 39, at least before his sending off. He is Milan's top goalscorer with 15 but there's much more to his game as he ably demonstrated today.
Having come out of international retirement to play in this summer's European Championships, he has a great chance of featuring in next season's Champions League with Milan. And that would only be right considering he has played a large part in their success this season.
But they will have to do without him for the next three matches after a moment of madness. He let his team mates down and after struggling without him when he was sidelined through injury recently, they will have to find a way to fill the void he leaves right at the business end of the season.
MAN OF THE MATCH - Theo Hernandez (Milan)
Ibrahimovic was certain to get the award - until he saw the red mist. So Theo Hernandez gets the thumbs up for another excellent and tireless performance in which he provided a constant threat down the left whilst also fulfilling his defensive duties.
'Dream' - Barca players 'desperate' for Neymar return - Euro Papers
Parma: Sepe 6, Conti 6, Bani 6, Gagliolo 7, Pezzella 6, Kucka 6, Kurtic 6, Hernani 5, Man 6, Pelle 6, Gervinho 5.. subs: Grassi 5, Busi 5, Cornelius 6, Traore N/A.
Milan: Donnarumma 7, Kalulu 7, Kjaer 6, Tomori 7, Theo Hernandez 8, Bennacer 6, Kessie 7, Saelemaekers 7, Calhanoglu 6, Rebic 7, Ibrahimovic 7.. subs: Gabbia N/A, Meite 5, Krunic N/A, Leao N/A.
8' - GOAL! Parma 0-1 Milan (Ante Rebic): Oh, what a beautiful goal! Ibrahimovic slips a lovely little reverse ball into the path of Rebic, who allows the ball to run across his body and slams it into the top corner of the net. That's his sixth goal of the season.
44' - GOAL! Parma 0-2 Milan (Franck Kessie): It's too easy for Milan as Kessie doubles the advantage on the stroke of half-time. Hernandez rolls a pass to Ibrahimovic, who holds play up and gives it back to his team mate. He feeds Kessie who scores a rare goal from open play with a simple finish.
51' - Double save! Much better from Parma as Donnarumma is finally called into action! He denies Conti's header with a brilliant one-handed save and gathers himself to throw his body in the way of the rebound!
60 ' - Red card! Ibrahimovic has been sent off! Out of nowhere, Milan are down to 10 men! He must have said something out of turn to the referee. Bizarre!
66' - GOAL! Parma 1-2 Milan (Riccardo Gagliolo): Game on as Parma halve 10-man Milan's advantage! Pelle gets on the end of a deep cross and nods it into a dangerous area, Gagliolo reacts quickest and pokes it past Donnarumma!
90'+ 4 - GOAL! Parma 1-3 Milan (Rafael Leao): The substitute Leao secures all three points for Milan with a cool finish on the break after a rapid run and clever pass from Dalot.
- Ante Rebic has scored 16 out of his 17 goals in Serie A for AC Milan after matchday 19 (in the second half of the season).
- Franck Kessie is the first AC Milan midfielder to score 10 or more goals in the first 30 matches of a Serie A campaign since Kaka in 2008/09.
Chelsea confirm Tomori switch to AC Milan
‘Superman Returns’ - Buffon’s move back to boyhood club Parma confirmed