Edin Dzeko scored twice in a 4-1 victory at AC Milan that ensures Roma head into next weekend's capital-city showdown with Juventus with a faint hope of winning the Serie A title.
The Bosnian struck twice in the first half at San Siro to boost the Giallorossi to within seven points of reigning champions and leaders Juve, who will take the Scudetto if they can avoid defeat in Rome.
Luciano Spalletti's men will, however, have every confidence they can slash the gap to four points heading into the final two games of the season, given how impressive they were on Sunday night.
When Milan tried to mount a late comeback, with Mario Pasalic spoiling Roma's clean sheet, the response was rapid as a goal from substitute Stephan El Shaarawy confirmed the outcome.
Gabriel Paletta then allowed Daniele De Rossi to add insult to injury by conceding a penalty that the Italy midfielder converted at the death, with the Milan centre-back dismissed for his troubles.
Lazio strengthened their grip on a Europa League place by thrashing Sampdoria 7-3 while Inter Milan lost again and Palermo bid farewell to Serie A following a draw at Chievo.
Simone Inzaghi's ambitious Lazio, who are now just five points behind city rivals Roma in the final Champions League spot, ran riot against 10-man Samp with six different players scoring.
In-form Keita Balde Diao made it six goals from his last three games with Lazio's early opener, with Ciro Immobile then doubling their lead from the penalty spot following Milan Skriniar's dismissal.
Karol Linetty promptly replied to give Samp false hope, as they were soon put back under the cosh with Wesley Hoedt, Felipe Anderson and Stefan de Vrij all notching before half-time.
Senad Lulic pushed Lazio five goals clear after the hour mark and, after Immobile grabbed his second, veteran Samp striker Fabio Quagliarella soothed the visitors' wounds with a late brace.
Hapless Inter suffered a third straight defeat and a fifth in sixth games at the hands of lowly Genoa.
Nerazzurri coach Stefano Pioli is likely on borrowed time after overseeing a 1-0 loss in which former Inter striker Goran Pandev inflicted the lethal blow in the 70th minute, with Geoffrey Kondogbia seeing red at the death.
It might have been a different story for Inter had Antonio Candreva not missed a late penalty.
Meanwhile, Palermo needed to win and hope 17th-placed Empoli lost to cling onto their top-flight status, but they instead could only muster a 1-1 draw in Verona.
Empoli were already 3-1 up against Bologna when Sergio Pellissier subdued the Sicilians with a 67th-minute spot-kick at the Stadio Marc'Antonio Bentegodi.
Sub Edoardo Goldinaga split the points two minutes from time, but it was too little, too late.
Resurgent Empoli saw off Bologna thanks to Daniele Croce, Manuel Pasqual and Andrea Costa, with Simone Verdi's effort offering little consolation to a Bologna side who have been poor in 2017.
Palermo's fate may have been sealed with three games remaining, but Crotone have a fighting chance after beating basement boys Pescara 1-0 to ensure Empoli are still just four points away.
Substitute Aleksandar Tonev was the southerners' hero at the Stadio Adriatico, the Bulgaria international slamming home from distance just minutes before Ahmed Benali saw red for the hosts.
Sulley Muntari, who was sent off for complaining about racist abuse at Cagliari last week only for his suspension to be overturned on appeal, was left on Pescara's bench.
In Sunday's early game, Atalanta missed the chance to strengthen their bid for Europa League qualification as they were held to a 1-1 draw at Udinese.
Bryan Cristante headed the Nerazzurri in front just before the break but mid-table Udinese grabbed an equaliser eight minutes after the interval as Stipe Perica fired home on the rebound.
Sassuolo effectively ended Fiorentina's quest for European football by holding them to a 2-2 draw.
Nikola Kalinic saw his penalty saved but Federico Chiesa put Fiorentina ahead before the break.
However, Gonzalo Rodriguez's later dismissal turned the tide and Sassuolo struck through Matteo Politano and Pietro Iemmello, forcing Federico Bernardeschi to salvage a point in stoppage time for the Viola.