Two changes for a wounded Juve saw Danilo restored to the starting line-up alongside Paulo Dybala after ending 2020 with a shock 3-0 loss to Fiorentina.
Ronaldo put Udinese under early pressure from a darting run to the edge of the area but after opening an angle, flashed across goal.
Juventus fell behind on 10 minutes after Rodrigo De Paul attacked a low ball in the area to slot home, but it was disallowed by the Video Assistant Referee (VAR) for a handball in the build-up.
It was left to Ronaldo, who following the half-hour mark, charged into the area after landing onto a loose ball to give his side the lead with an instinctive finish.
A substitution for the Friulians during halftime resulted in the removal of Ignacio Pussetto, who had sustained an injury and introduction of Fernando Forestieri.
However, Juventus raced into a two-goal lead seven minutes into the second half when Federico Chiesa connected with a through ball from Ronaldo to fire into the far side.
Stryger Larsen went close to reducing the deficit for the Friulians midway through the second half with a towering header, but found the woodwork.
Juventus made the result safe 20 minutes from time when Ronaldo ran ahead of the defence before finding the bottom-corner following a through pass.
Marvin Zeegelaar nearly brought the visitors to life minutes later after his snap shot in the area hit the underside of the crossbar.
Zeegelaar eventually got his goal a minute in stoppage time when he fired a loose ball in the area into the bottom-corner. However, Juventus had the last laugh seconds thereafter as Dybala raced onto a ball in the channels to find the top corner, as the contest ended.