The absence of Cristiano Ronaldo and Paulo Dybala headlined the champions ' starting line-up following their shock defeat away to Cagliari in midweek in Sardegna.
The clash got off to a lively start as Gonzalo Higuain netted the opening goal inside five minutes after turning home Adrien Rabiot's ball.
Roma were back all square just after the midway mark when Nikola Kalinic headed into the far corner after connecting with a Diego Perotti's cross following a corner-kick.
A superb hit right on the half-hour mark from debutant Gianluca Frabotta following a well-worked move almost granted Juventus the lead again, however the attempt went off target.
Roma seized control for the first time in the match after Perotti slammed home from the penalty spot in the final minute of the half after Danilo brought down Riccardo Calafiori.
Merih Demiral and Aaron Ramsey entered for the home side five minutes from the halftime period, with Juve trailing their counterparts.
It got worse for the Bianconeri as Perotti extended his and his side's tally on 52 minutes after meeting a ball from Nicolo Zaniolo to beat Juventus' goalkeeper Wojciech Szczesny with a composed finish.
Ramsey almost handed the home side a reply seven minutes later, but the former Arsenal man cracked the post following a first-time effort.
Szczesny's busy night continued midway through the half after turning Perotti's goal-bound strike to safety following a brilliant switch of play from Paulo Fonseca's charges.
Roma managed every area towards the end despite the best efforts of their hosts, who slumped to yet another defeat ahead of Friday's UEFA Champions League showdown with Olympique Lyon.