Andrea Pirlo opened the scoring after 10 minutes with a sweetly-struck free kick, which sailed over a fragmented Roma wall.
There was no let-up for Roma as Alessandro Matri made it 3-0 after just twenty minutes with a rifled finish.
Roma fought back in the second half and, after making a series of substitutions, found a breakthrough with 20 minutes to go.
Leandro Bonucci elbowed Matteo Destro to give the referee no choice but to award a penalty, which Pablo Osvaldo nestled to give Roma a glimmer of hope.
Sebastian Giovinco scored in stoppage time to make it five wins from Juve's opening six league games.
The victory makes it 45 Serie A matches unbeaten for Antonio Conte's side.