
England defender Chris Smalling got his first start for Roma in nearly six months following and injury with forward Romelu Lukaku starting on the bench.
Torino paid for early wastefulness in front of goal with former Juventus forward Dybala opening the scoring from the penalty spot three minutes before the break.
Duvan Zapata revived Torino hopes two minutes later, heading into goal to keep the visitors in the game at the halftime whistle.
But Argentina forward Dybala curled in a second after 57 minutes, adding a third 12 minutes later following good work from substitute Lukaku.
Dean Huijsen inadvertently turned the ball into his own net with two minutes to go setting up a tense finale.
But Daniele De Rossi’s side held on for back-to-back wins after their painful 4-2 defeat to leaders Inter Milan two weeks ago.
Roma are sixth with 44 points, four points off Bologna who occupy the final Champions League berth.
Torino remain stuck midtable, eight points behind Roma.
Stay current - Follow FMT on WhatsApp, Google news and Telegram