AC Milan’s Scudetto hopes were all but ended on Sunday as Napoli ran out 1-0 winners on a frustrating night at San Siro.
Some might have been predicting a cagey affair between the two sides given the ramifications regarding top four placement, but the first half was end-to-end in nature albeit bereft of any real quality in the final third.
Both sides had chances to open the deadlock, but it was Matteo Politano who scored the only goal of the game early in the second half, finishing with composure from the left side of the Milan box past a helpless Gianluigi Donnarumma after the ball was surrendered in midfield.
Substitute Ante Rebic was given his marching orders for insulting the referee in added time, and that would be very symbolic of a very frustrating evening for Milan.
Head coach Stefano Pioli was without a number of key performers as he continued to battle an injury crisis with Davide Calabria, Alessio Romagnoli, Ismael Bennacer, Zlatan Ibrahimovic and Mario Mandzukic all absent. Theo Hernandez and Hakan Calhanoglu came back into the starting XI but Simon Kjaer was rested, allowing Matteo Gabbia to make his first appearance since December.
Milan had a big chance inside the opening few minutes as Theo Hernandez played a ball down the left channel for Rafael Leao to latch onto, though Ospina came out to narrow the angle and in the end made a good close-range save to deny the Portuguese forward.
The first half-chance for Napoli came just inside the opening 10 minutes when a ball sat up nicely for Mertens to strike around 20 yards out, though his weak effort was going wide but was still easily collected by Gianluigi Donnarumma.
The Rossoneri fashioned an opening a minute later when some quick fire passing on the edge of the box found Calhanoglu in space though he curled his first time effort way over and wide.
In the 14th minute Insigne provided a reminder of the danger he poses when he cut in from the left wing and fired on goal, and Donnarumma was relieved as the ball sailed into his hands.
Moments later Gigio was called into action again, this time leaping well to stop a Zielinski shot from inside the box at full stretch as the wide open nature of the opening exchanges continued.
Leao once again showed his speed and physicality as he chased another long ball over the top, bumping Maksimovic out of the way before gathering his footing and curling an effort not far wide of the far right post, though Ospina had it covered.
The away side really should have taken the lead just before the half hour mark as another move down Milan’s right side ended with Insigne pulling the ball back to Zielinski who pulled his effort just wide of the far post.
Milan had two shots on goal from a very similar range just a couple of minutes apart; the first saw Leao shoot straight at Ospina with a low drive from 20 yards, and then Calhanoglu cut onto his left foot after a flowing passing counter-attack but shot wildly over.
The first shot on target of the second half came in somewhat bizarre circumstances as a corner was cleared but the second ball came to Castillejo, who fired on the volley but sliced his effort into the arms of Ospina.
Napoli took the lead with their first attack of the second half though, as Milan were made to pay for a sloppy surrender of possession in midfield. The ball was quickly played from left to right and Politano found space inside the box to fire low past Donnarumma and inside the far post.
It was the Partenopei who weren’t far off doubling their advantage just before the hour mark as a loose ball dropped for Fabian Ruiz on the edge of the box and he half-volleyed at Donnarumma before skewing the rebound wide under pressure.
A triple change followed in the aftermath as Krunic, Calhanoglu and Castillejo were all taken off with Ante Rebic, Brahim Diaz and Alexis Saelemaekers coming on in their place.
Insigne – for the umpteenth time in the game – found some space between the right-back and right centre-back to run into while attacking the corner of the box, but curled his attempt over the bar.
Leao had a big chance to level the scores in the 65th minute as an excellent cross from Rebic found him unmarked at the far post, and while the 21-year-old managed to divert it goalwards, it had no pace or power.
Rebic fired over himself from a good shooting position in the next attack, and that was followed by Soualiho Meite coming on in place of Kessie.
Ospina made a smart reaction save with 20 minutes left on the clock as a fierce free-kick from Tonali was helped on its way by Rebic at the near post.
As the home side continued to probe, the final change saw Jens Petter Hauge come on in place of Rafael Leao, who toiled away but went another game without a goal or a real contribution.
It felt like time was running out for Milan when Theo Hernandez fizzed a half-volley wide of Ospina’s far post with just over seven minutes left.
The referee Fabrizio Pasqua was summoned to the VAR screen in the dying moments as Theo went down claiming he was impeded by Bakayoko, but there was rightly no spot kick awarded.
In what was a perfect summary of Milan’s night, the substitute Rebic was shown a straight red card in the second minute of added time after a foul chasing a ball down. We can only assume he said something to the referee.