A Franck Kessie penalty and Ante Rebic strike proved decisive for the Rossoneri, with Jordan Veretout finding the net for the Giallorossi. Gianluigi Donnarumma made a crucial late save to preserve the win.
Milan had gone four games without a win in all competitions - and were thrashed 3-0 by league leaders Inter a week ago - but have now cut the gap at the top back to four points.
So which players stood out in Rome?
✔️ FRANCK KESSIE: 7.4
The Ivorian has been perhaps Milan's most consistent performer in 2020/21 and he was a powerful presence in the midfield on Sunday night.
He dispatched Milan's penalty with aplomb to break the deadlock, showing that he should always take the spot-kicks instead of Zlatan Ibrahimovic.
His passing was also excellent throughout, as he boasted a pass completion rate of above 90 per cent.
❌ HAKAN CALHANOGLU: 5.8
However, he has struggled this year since returning from a one-month injury layoff.
Calhanoglu was once again disappointing against Roma, as he registered no shots, created no chances and had no touches in the opposition box. It came as no surprise when Stefano Pioli hauled him off at half-time.
⭐ GIANLUIGI DONNARUMMA: 8.3
The man-mountain celebrated his 22nd birthday this week with a big performance to keep Milan's title dreams alive.
He made seven saves throughout the match - the same as his opposite number Pau Lopez, who was also very impressive.
Donnarumma's most crucial stop came with 10 minutes to go when he made a fantastic parry from Henrikh Mkhitaryan.