Portugal forward Ronaldo opened the scoring at Allianz Stadium with his seventh goal in four matches for Juve in 2020.
Rodrigo Bentancur and Leonardo Bonucci then found the net to give the Bianconeri a three-goal advantage at half-time.
Roma pulled one back when Cengiz Under's effort from the edge of the box hit the crossbar and rebounded into the net off veteran goalkeeper Gianluigi Buffon, but Juve comfortably advanced and will face Milan or Torino – who meet on January 28 – in the last four.
Juventus head coach Maurizio Sarri picked a strong starting line-up for the quarter-final clash and after a low-key start his side increased the tempo to seize control.
The 13-time Coppa Italia winners took the lead in the 26th minute with a goal that owed much to Ronaldo's ability to finish from a tight angle.
Ronaldo escaped his marker on the left before cutting inside and guiding a low shot across goal past Roma keeper Pau Lopez.
Juventus added a second on the counter attack 12 minutes later when Bentancur, surrounded by six Roma players, squeezed an effort into the bottom-left corner from 12 yards.
Roma's defence was culpable for Juve's third on the stroke of half-time as the unmarked Bonucci calmly headed in at the back post after being picked out by Douglas Costa's cross.
Gonzalo Higuain hit the woodwork in the 48th minute and Paulo Fonseca's side reduced the deficit two minutes later. Under's shot from just outside the box struck the underside of the bar and went in off Buffon's hand.
However, Juventus stood firm in the closing stages to pick up a fifth straight victory in all competitions.