Juve have now not tasted defeat in 45 league matches, and went ahead through Andre Pirlo early on.
Further goals from Arturo Vidal and Alessandro Matri put the game beyond Roma, who responded through Pablo Osvaldo, but Sebastien Giovinco then netted a fourth late on for Juve.