Roma put a dent in the title charge of Serie A leaders Juventus as they came from behind to win 3-1 at the Stadio Olimpico and keep alive their own outside hopes of lifting the Scudetto.
Juventus needed just a point to secure the title with two matches to spare and took the lead on 21 minutes through Mario Lemina.
Roma, though, soon levelled when Daniele de Rossi stabbed the ball past Gianluigi Buffon from close range.
The Giallorossi turned the match around in the second half when Stephan El Shaarawy's low shot crept into the bottom corner on 56 minutes and Radja Nainggolan then crashed home a third.
Luciano Spalletti's men moved back above Napoli, who had won 5-0 at Torino earlier on Sunday, and four points behind Juve with two matches left.
The Bianconeri, meanwhile, must now regroup for their return to the Stadio Olimpico in Wednesday night's Coppa Italia final against Lazio and then look to secure the Scudetto at home to relegation-threatened Crotone.
Following Napoli's trashing of Torino, the pressure was also on Roma in the race to secure second place and with it automatic qualification for the group stage of the Champions League.
Juventus boss Massimiliano Allegri made a few of changes with the likes of Paulo Dybala, Giorgio Chiellini, Dani Alves and Andrea Barzagli rested following the Champions League semi-final win over Monaco.
Despite the new personnel, it was almost a flying start by the Old Lady.
As the ball dropped out following a half-cleared corner, defender Kwadwo Asamoah crashed it back against the left-hand post with goalkeeper Wojciech Szczesny beaten.
Juventus swept into the lead on 21 minutes.
Stefano Sturaro clipped the ball over a static Roma defence for Gonzalo Higuain to run onto down the right.
The Argentine forward then unselfishly tapped a pass sideways for the on-rushing Lemina to tap home.
The lead, though, was cancelled out inside four minutes.
A corner was headed down by Kostas Manolas, which Juve goalkeeper Buffon could only push out into the six-yard box.
De Rossi was first to the loose ball, stabbing it goalwards, which Buffon parried but the Roma midfielder remained alert to squeeze the rebound inside the far post.
Just before half-time, Roma were in again when Nainggolan chipped the ball across from the right, but Mohamed Salah could only glance a tame header straight at Buffon.
Roma took the lead after 56 minutes.
El Shaarawy carried the ball into the left side of the penalty area before sending in a low shot goalwards.
The midfielder's effort appeared to take a nick off the boot of Juventus defender Stephan Lichtsteiner and then deceive Buffon as the veteran keeper watched it curl into the far corner.
Before Juventus could respond, Nainggolan drilled in a third on 65 minutes, exchanging passes with Salah on the right side of the Juve penalty area before dispatching an angled drive into the top corner.
With time running out, Juve defender Leonardo Bonucci was pushed forwards and was unfortunate to see his downward header bounce wide after charging in at the far post.
Substitute Dybala went down under a challenge from Leandro Paredes, which on another evening could well have been a penalty, before veteran forward Francesco Totti was given a late run-out, replacing Salah, much to the delight of the jubilant Giallorossi supporters.
In stoppage time, Szczesny blocked a near-post effort from Higuain as Roma closed out an impressive victory.