Edin Dzeko scored two first-half goals as Roma earned a 4-1 win over 10-man AC Milan that moves them to within seven points of league leaders Juventus and keeps the Serie A title race alive.
Juve travel to Stadio Olimpico next weekend, giving Roma the chance to close the gap further and Luciano Spalletti's side will be in confident mood after a consummate performance at San Siro.
Dzeko took his goal tally for the season to 27 inside the first half hour of the game, first linking up with Mohamed Salah to open the scoring after eight minutes and then heading a Leandro Paredes corner home 20 minutes later.
Mario Pasalic pulled one back for Milan with 15 minutes left but former Rossoneri forward Stephan El Shaarawy quickly responded with Roma's third.
Gabriel Paletta was sent off four bringing down Salah in the box and Daniele De Rossi's penalty clinched a result that is crucial to Roma's chances of finishing in Serie A's top two, ahead of Napoli.
Their supporters would have settled for nothing less than a win after a disappointing 3-1 defeat to local rivals Lazio a week earlier.
Milan remain sixth after the defeat, having missed the chance to put themselves six points clear of seventh-placed Inter, who lost 1-0 at Genoa earlier in the day.
Wasting no time as they sought to make amends for defeat in the derby, Roma took the lead in the eighth minute when Salah played a neat one-two with Dzeko and then returned the ball to the Bosnian striker, who hit the top corner of the net with a right-footed blast.
Salah rifled a shot over the crossbar four minutes later and Gianluigi Donnarumma made a fingertip save to push Diego Perotti's shot onto the post after 16 minutes, and at the other end Wojciech Szczesny made a diving save to keep out Sosa's 30-yard drive.
While Milan were disjointed, Roma played fluid, positive football and it was little surprise when Dzeko made it 2-0, out-leaping Gianluca Lapadula at the near post to head Paredes' corner into the far corner of the net.
Donnarumma made a brilliant save to keep Milan in the game nine minutes before half-time, diving down to his left to push Radja Nainggolan's drive onto the post before Salah wastefully snatched at the rebound and sent the ball into the stands.
Milan improved after the break and Lapadula headed just over the crossbar seven minutes into the second half, before the home side's frustrations spilled over when substitute Andrea Bertolacci clashed with Roma's Kostas Manolas, earning both players a yellow card.
The hosts seemed to be running out of steam in the last half hour but Vincenzo Montella sent on Lucas Ocampos and his corner in the 76th minute bounced all the way through the box before Pasalic diverted it into the net with a diving header.
Moments later El-Shaarawy collected Dzeko's header on the edge of the box and side-footed the ball high into the net, past Donnarumma to make it 3-1 and end Milan's attempted comeback.
Roma rubbed salt in Milan's wounds with five minutes left when Salah danced into the box and was hauled down by Paletta, who was shown a straight red card.
De Rossi slammed the resulting penalty into the net despite Donnarumma getting a hand to it, wrapping up the win with his second spot-kick in as many games.