Milan secured an impressive three points away to Napoli to remain unbeaten in Serie A and return to the top of the table, winning 2-1 without head coach Stefano Pioli who was unavailable after returning a positive COVID-19 test.
It was a cagey opening 20 minutes, until Zlatan Ibrahimovic put Milan 1-0 up by heading home from a whipped Theo Hernandez cross. Napoli woke up after conceding and put the pressure on for the rest of the half, but failed to break down Milan's defence.
The Rossoneri struggled to wake up in the opening stages of the second half and Gennaro Gattuso's side began to make holes in their defence, coming close but not quite threatening the goal enough. They were punished on the counter, with Ante Rebic slipping the ball over for Ibrahimovic to grab a brace after 54 minutes.
Dries Mertens popped up to half the deficit after 63 minutes, but a second yellow card for Tiemoue Bakayoko just two minutes later made the hill even steeper for the home side to climb. They tried to push on following the Frenchman's dismissal but couldn't find a way through, as Milan secured the win through substitute Jens Petter Hauge, scoring his first ever Serie A goal.
With all said and done, let's see how the players fared.
1. Goalkeeper & Defenders
Alex Meret (GK) - 6/10 - Denied Hakan Calhanoglu with a smart save and could do nothing about Ibrahimovic's header for a largely inactive first half.
Giovanni Di Lorenzo (RB) - 5/10 - Found himself with a rare sight at goal from a corner but hit the bar from point blank. Overwhelmed with Milan's overlaps down the left flank.
Kostas Manolas (CB) - 5/10 - Resigned to the sensible job during the first 45 minutes while his partner ventured forward for an equaliser. Nothing much he could do for Milan's second with Napoli caught on the break.
Kalidou Koulibaly (CB) - 5/10 - Bullied by the experience of Ibrahimovic for Milan's opener, but played an impressive role in becoming a de-facto target man for Napoli by heading forward. Left his side's defence exposed, though.
Mario Rui (LB) - 6/10 - Little to do but lacked enough accuracy and ability in attack to truly help out his side going forward in the first half. Pushed on more in the second and popped up to assist Mertens' strike.
Hirving Lozano (RW) - 5/10 - Showed signs of danger by running inside of Theo Hernandez, but couldn't find the final ball to level proceedings in the first half. Hooked shortly after the break as a result.
Fabian Ruiz (CM) - 6/10 - Filled in at the back so that Koulibaly could venture forward during the first half, but managed to assert himself after the interval and played some neat passes.
Tiemoue Bakayoko (CM) - 3/10 - Quiet first half but was given a harsh booking for a follow through on Alexis Saelemaekers that he could do little to avoid. Sent off in the second for a much clumsier challenge that warranted the second yellow.
Lorenzo Insigne (LW) - 6/10 - Struggled to make an impact against a hawk-eyed Davide Calabria in the opening 45 minutes, but had more influence after the break. Played some neat passes and unlocked Milan from inside.
Matteo Politano (CF) - 7/10 - Great off the ball movement from Politano in a position he isn't used to as the number ten. Created gaps in Milan's defence in the first half and had chances to score, before shifting to the left in the second half.
Dries Mertens (ST) - 7/10 - Forced a fine save from Donnarumma in the first half and kept plugging away after the break. Concentrated play in the box allowed him to pull one back for Napoli.
Piotr Zielinski - 6/10
Andrea Petagna - 5/10
Eljif Elmas - N/A
5. Goalkeeper & Defenders
Gianluigi Donnarumma (GK) - 7/10 - Confident game from Donnarumma who commanded his box well and made some fine saves in the first half. Continued strong into the second and could do little about the goal he conceded.
Davide Calabria (RB) - 6/10 - Kept Insigne quiet and had some decent enough spells moving forward, but most of Napoli's attacks came down the other flank in the first half.
Simon Kjaer (CB) - 6/10 - The experienced Dane marshalled the game well, stepping out when needed to snuff out danger and keeping his side ahead in the first half when Napoli looked for a swift response.
Alessio Romagnoli (CB) - 6/10 - Romagnoli's lack of pace showed at times but he did well to cover Theo Hernandez whenever the full-back roamed forward.
Theo Hernandez (LB) - 7/10 - Caught out one-on-one at times but put the ball on a plate with a peach of a cross to assist Ibrahimovic for Milan's opener. His work rate is key to Milan's counter-attacking play being a success.
Franck Kessie (DM) - 7/10 - Halted Napoli in playing through the centre and started Milan's forward moves with some fine passing over both short and long range, while also getting back and making some solid tackles.
Ismael Bennacer (DM) - 7/10 - Not his most extravagant showing and was dispossessed in dangerous areas once or twice, but did enough to keep Napoli's attack at bay and earned an assist in injury time.
Alexis Saelemaekers (RW) - 5/10 - Struggled to impose himself for the most part, with his biggest contribution being getting Bakayoko booked. Largely a poor day at the office.
Hakan Calhanoglu (AM) - 8/10 - Looked dangerous with every touch during the first half. Created chances and led the transition for his side, leaving the field after 87 minutes with 94% pass accuracy.
Ante Rebic (LW) - 7/10 - Quiet showing in the first half but worked hard off the ball throughout. Came to life in the second with a smart run and cross to assist Ibrahimovic for his second on the counter-attack.
Zlatan Ibrahimovic (ST) - 9/10 - Returned to the top of the Serie A scoring charts with a perfectly placed header in the first half after barely being involved until that point. Bagged an important second after 54 minutes against the run of play to extend the visitors' lead. Denied a hat-trick after leaving the field with injury, unfortunately.
Samuel Castillejo - 6/10
Jens Petter Hauge - 6/10 - Secured the points with a confident dink, bagging his first Serie A goal in the process.
Lorenzo Colombo - 5/10
Rade Krunic - N/A