Juventus will have to wait another week to claim an historic sixth successive Serie A title after Roma ran out 3-1 winners at the Stadio Olimpico on Sunday.
Having failed to clinch the Scudetto by being held to a 1-1 draw against city rivals Torino last weekend, Juve were denied the point they needed for glory by second-half goals from Stephan El Shaarawy and Radja Nainggolan.
The former AC Milan forward only started after top scorer Edin Dzeko sustained a calf injury, but he made his selection count in the 56th minute when he found the bottom corner with a shot that deflected wickedly off Leonardo Bonucci.
Nainggolan made sure of the win with a thunderous effort nine minutes later, leaving Juve to turn their attention to Wednesday's Coppa Italia final against Lazio back on this ground to secure the first leg of a possible treble. Their third opportunity to clinch the Scudetto comes next weekend at home to relegation-threatened Crotone.
Things looked good for Juve when Mario Lemina - in as one of six changes from the side that booked a place in the Champions League final with a 2-1 win against Monaco on Tuesday - struck for the first time this season after 21 minutes.
Roma equalised just four minutes later through Daniele De Rossi, with El Shaarawy and Nainggolan completing the turnaround after the restart to ensure Luciano Spalletti's side held onto second position after Napoli's 5-0 win at Torino earlier in the day.
Roma showed plenty of attacking intent from kick-off but could have found themselves behind as early as the seventh minute.
A corner by Miralem Pjanic - roundly jeered on his first match against his former side in the capital - was only cleared as far as Kwadwo Asamoah, who cracked a searing 20-yard drive against the upright.
Roma did not heed the warning and Juve did go in front 14 minutes later as Gonzalo Higuain showed a sublime touch to square Stefano Sturaro's excellent pass over the top for Lemina to tap home.
Roma did not take long to equalise, though. Gianluigi Buffon did well to keep out Kostas Manolas' header and a follow-up effort from De Rossi, but the Giallorossi captain was quick to react and fire into the roof of the net at the second time of asking.
1 - Daniele De Rossi has scored a goal in 3 consecutive Serie A games for the first time in his career. Leader. #RomaJuve-- OptaPaolo (@OptaPaolo) May 14, 2017
There were chances for both teams to add to their tally, Wojciech Szczesny keeping out a fierce strike by Higuain before Mohamed Salah's free header was comfortably held by Buffon.
Juve appeared in control but were stunned 11 minutes after the restart. A quick free-kick was worked to El Shaarawy on the left and his tame right-footed effort took a nick off Bonucci and somehow span beyond the helpless Buffon.
Allegri sent Dani Alves on for Stephan Lichtsteiner to give his side more of an attacking threat but the Brazilian was guilty of playing Nainggolan onside as the Belgian rifled a fierce shot past Buffon at his near post.
Paulo Dybala replaced Sturaro in an attacking switch from Allegri and he headed wide, Bonucci following suit as the clock ticked down.
With Roma in a celebratory mood Francesco Totti, believed to be retiring at the end of the season, replaced Salah in the 93rd minute.
Higuain was kept out by the legs of Szczesny to ensure there were no such scenes of revelry for Juve as their wait to make history continues.