The Bianconeri drew 0-0 in the capital to ensure that Napoli, winners over Sampdoria elsewhere tonight, can no longer catch them at the summit ahead of next weekend’s fixtures.
Juventus, champions for a record seventh time in a row, could have sealed their success with victory but were unable to break down their 10 men opponents at the Stadio Olimpico.
On the back of winning the Copa Italia in midweek, the visitors maintained their dominance of Italian football by playing for the point they required.
Edin Dzeko blasted over the crossbar and Radja Nainggolan wasted a good opening, while Lorenzo Pellegrini was wayward from a promising position for a Roma side already assured of a top-four finish.
Next to come close for the home side was Aleksandar Kolarov, who sent a free-kick into the side-netting, but Juve did start to show more attacking intent as Paulo Dybala found a way through only for the offside flag to go up.
Another Kolarov effort was then looped on to the roof of the net, before the complexion of the contest changed when Nainggolan was shown two yellow cards in quick succession to leave the Giallorossi a man light.
A Dybala penalty appeal aside when being nudged over in the box, the champions simply saw things through to claim yet another top-flight crown.
ROMA (4-3-3): Alisson; Florenzi, Fazio, Juan Jesus, Kolarov; Pellegrini (Gonalons 73′), De Rossi (Strootman 82′), Nainggolan; Under (Schick 81′), Dzeko, El Shaarawy
JUVENTUS (4-2-3-1): Szczesny; De Sciglio, Barzagli, Rugani, Alex Sandro; Matuidi, Pjanic; Bernardeschi (Douglas Costa 66′), Dybala, Mandzukic (Bentancur 81′); Higuain