The Bianconeri got the point needed at the Stadio Olimpico to take an unassailable four-point lead over second-place Napoli with a game to spare, adding to the Coppa Italia crown they claimed by beating AC Milan 4-0 on the same ground just four days ago.
It is Massimiliano Allegri's fourth straight Scudetto and follows the three claimed by Antonio Conte at the start of an unprecedented era of success for the Turin giants - though it remains to be seen whether he will be on hand to extend that streak amid links to Arsenal and Chelsea.
The Juve coach made six changes from the side that started the Coppa final, with Gianluigi Buffon afforded a rest ahead of what could be his final match for the club at home to already-relegated Verona next weekend, and they played like a team lacking coherency, even after Radja Nainggolan was shown two yellow cards in the space of five second-half minutes.
Roma, who had little to play for having been guaranteed a place in next season's Champions League by Inter's loss to Sassuolo on Saturday, were far more positive in the opening period but barely went close to testing their former goalkeeper Wojciech Szczesny.
Juve enjoyed a better second half but, although they were unable to get a winner after Nainggolan was dismissed with 22 minutes remaining, a draw was sufficient to ensure their reign over Italy continues.
The visitors were caught in possession inside their own half twice in the opening 10 minutes, but Edin Dzeko and Nainggolan failed to punish them.
Miralem Pjanic was struggling to establish himself against his former club and, after Lorenzo Pellegrini sent a fierce effort flying high and wide, he was booked for a late tackle on the Roma midfielder in the 32nd minute.
The Bianconeri found it difficult to maintain pressure on the opposition and Paulo Dybala's scuffed shot that skidded narrowly wide following a counter-attack proved their best chance of the half.
There was a slight improvement from the visitors after the restart, Dybala rifling home a half-volley from Alex Sandro's pass before turning to see the offside flag correctly raised.
However, they struggled to test Alisson and Aleksandar Kolarov went close to punishing them in the 65th minute when his 25-yard strike deflected off Pjanic and looped just over the roof of the net.
Juve received a boost when Nainggolan was booked twice in quick succession for fouls on Alex Sandro and Dybala, but Eusebio Di Francesco's side sat back and defended stoically.
Dybala was denied a penalty after a shove from Juan Jesus with five minutes remaining, before Juve passed the remaining time away to ensure they can focus on celebrating at the Allianz Stadium next weekend.
Key Opta stats:
- Juventus have now kept 22 clean sheets, equalling the Serie A record in a single season (Juventus 2013-14 and 2015-16, AC Milan 1993-94).
- The last 0-0 draw between Roma and Juventus in Serie A was on February 10, 2002.
- Juventus are unbeaten in their last 13 away league games, keeping nine clean sheets in the process.
- The Bianconeri had no shots on target for just the second time in Serie A this season – the other was at home against Napoli.