It was the 34-year-old’s 12th goal in eight consecutive games in which he has played in all competitions for the Turin giants but his first in the Italian Cup.
The Portuguese star picked up a Gonzalo Higuain cross after 26 minutes in Turin finishing off from an angle.
Ronaldo extended his scoring streak as Juventus eased past Roma 3-1 to advance to the Italian Cup semi-finals on Wednesday.
Rodrigo Bentancur added a second after 38 minutes with defender Leonardo Bonucci nodding in a third just before the break.
Cengiz Under pulled a goal back for Roma five minutes after the break rifling in from a distance with the ball hitting the crossbar and bouncing in off goalkeeper Gianluigi Buffon in the Juventus goal.
Roma, fourth in the league, were struggling with injuries while Edin Dzeko was sitting out a ban, but their form was worrying just four days before their derby clash against city rivals Lazio.
Buffon denied Alessandro Florenzi and Aleksandar Kolorav to keep Juventus on course in the competition they have won 13 times but exited in the quarter-finals last season to Atalanta.
Juventus — who lost the Italian SuperCup last month to Lazio — will next play either AC Milan or Torino in the semi-finals.
Holders Lazio were eliminated in the quarter-finals on Tuesday with a 1-0 loss to Napoli.
Italy international Insigne needed just 99 seconds to score the goal that won a match in which both teams had a player sent off and Ciro Immobile missed a penalty in the first 25 minutes.
AC Milan travel to Torino next Tuesday with Inter Milan hosting Fiorientina.
The final will be played on May 13 in Rome.