Milan won a potentially decisive match to keep up with Inter, as Franck Kessie’s penalty and an Ante Rebic stunner secured the 2-1 result and Roma’s first home defeat of the season.
This was a head-to-head for the top three places, with both teams fatigued after Thursday’s Europa League exploits. With Chris Smalling, Roger Ibanez, Davide Santon, Edin Dzeko and Nicolò Zaniolo injured, plus Marash Kumbulla ready at best for the bench, it was again a makeshift Giallorossi defence. The Rossoneri missed Ismael Bennacer and Mario Mandzukic, but Stefano Pioli decided to drop Alessio Romagnoli following recent poor performances, starting Chelsea loanee Fikayo Tomori.
Milan started strong, Zlatan Ibrahimovic forcing a save in the opening minutes, then on the resulting corner a mad scramble eventually saw Tomori put the ball in the net after he wandered offside.
Ibrahimovic caught Pau Lopez napping on a Federico Fazio back-pass, but then tried to back-heel it into the open goal and turned wide, when Hakan Calhanoglu was waiting for the assist.
Moments later, another horrible error in the Roma back line sent Ante Rebic clear, but instead of shooting, he rolled across for Ibrahimovic, who was offside.
Rebic took the initiative instead next time, forcing Pau Lopez to fingertip it round the far post, but on 22 minutes Roma finally threatened with Jordan Veretout’s volley straight at captain Gianluigi Donnarumma.
Simon Kjaer rattled the frame of the goal with a towering header on Calhanoglu’s corner, as Pau Lopez was well beaten and the marking poor.
However, at the other end, Henrikh Mkhitaryan had a goal disallowed for Gianluca Mancini’s push as he knocked on the corner.
Veretout also wanted a foul and at least a yellow card when going down on the edge of the box under pressure from Tomori, but the referee waved play on.
Pau Lopez had his gloves stung by a Rebic rocket and Alexis Saelemaekers first-time shot from 10 yards, then Tomori and Sandro Tonali used themselves as human shields on Lorenzo Pellegrini and Mkhitaryan, as it was end-to-stuff.
Mkhitaryan should’ve scored, as he was not offside on a Rick Karsdorp assist, saw Donnarumma off his line and tried the lob, but it flashed wide.
VAR was called into action when Federico Fazio trod on Davide Calabria’s foot right on the line of the penalty area. That qualifies as part of the box, so the spot-kick was given and Franck Kessie converted.
Calhanoglu went off with a muscular problem at the break, and Theo Hernandez fired wide after a strong run from midfield.
However, Veretout drew Roma level with his fine finish, taking one touch on Spinazzola’s pass from the edge of the box before curling right-footed into the far top corner for his 10th goal of the season.
Ibrahimovic went off with an ice-pack strapped to his thigh, but Milan restored their lead with a moment of real class. Pau Lopez gave it away cheaply to Saelemaekers, but Rebic used his first touch to also spin round and leave Mancini stranded, placing the left-foot angled drive into the far bottom corner.
Rebic was arguably putting in a man of the match performance, but he pulled up mid-run clutching his thigh and went off after another muscular problem.
Rafael Leao tested Pau Lopez after a mazy run, then Mkhitaryan skimmed the crossbar after a stunning turn sent Kessie to ground.
It remained wide open, Pau Lopez with a save from point-blank range on Tomori sliding onto a free kick at the back post, then Mkhitaryan furious the free kick was given against him when he wrestled with Theo Hernandez to get on the rebound from a Donnarumma parry.
Rade Krunic then saw Pau Lopez off his line and tried a lob from midfield, which the goalkeeper had to fingertip over the bar.
Leao also had penalty appeals rejected as he ran into the box and went over under Karsdorp pressure, but the referee was consistent in letting a lot go.
Roma had a double chance in stoppages, but Pedro scuffed his finish and Mkhitaryan’s rocket was straight at Donnarumma.
See the latest Serie A predictions and betting tips with Eurotips.co.uk