Juve knew three points would clinch another title but, having won just one of their previous five games, they needed a moment of magic from their talisman in first-half stoppage time to set them on their way.
Ronaldo swept home following a well-worked Miralem Pjanic free-kick for his 10th goal since the league resumed - making him the most prolific player across Europe's top five leagues following the coronavirus-enforced break - and it was an unlikely source who wrapped up the triumph as Bernardeschi scored his first Serie A goal since September 2018.
Juve's night of celebration was only slightly spoiled by injuries to Danilo, Paulo Dybala and Matthijs de Ligt, while Ronaldo slammed a late penalty against the crossbar to miss out on equalling a club record.
Injuries, rather than chances, were the story early on as Samp's Julian Chabot and Juve's Danilo were forced off before Dybala made way too.
Danilo's replacement Bernardeschi forced Emil Audero into a save, but he then failed to hit the target with a set-piece, leading to Juve getting creative from their next dead-ball situation near goal.
Pjanic eschewed a shot, instead squaring for Ronaldo, whose first-time effort found its way into the bottom corner of the net to give Juve a half-time advantage.
Samp threatened a comeback, though, as Mehdi Leris and Lorenzo Tonelli both missed the target either side of a Gaston Ramirez free-kick that Wojciech Szczesny had to claw out.
However, Maurizio Sarri's men could breathe easier when Bernardeschi followed up Ronaldo's saved effort in the 67th minute to score a long-overdue goal.
Any slim hopes Samp had were extinguished when Morten Thorsby received a 77th-minute red card for a second caution following a lunge on Pjanic, with De Ligt then swiftly removed having seemingly sustained a knock in an earlier challenge.
Ronaldo could have added an 89th-minute exclamation point when Fabio Depaoli brought down Alex Sandro in the box, but the Portugal great's effort came back off the woodwork.
What does it mean? Attention turns to Champions League as Juve limp over the line
This Scudetto triumph should have been sealed weeks ago but Juve can finally celebrate again thanks to this victory, while Inter, Lazio and Atalanta will rue their late-season stumbles.
Juventus' focus will now be on the Champions League - and ending a 24-year wait to win that prestigious trophy - and they must overturn a 1-0 deficit in the second leg against Lyon, a task that will be harder if Dybala and De Ligt are missing.
Ronaldo continues red-hot form
Juve's form may have been patchy since the resumption, but 35-year-old Ronaldo has found another gear, stepping up when his team needed him most here.
He has scored 10 in 10 Serie A matches following lockdown, though he would have equalled Felice Borel's record Serie A haul for Juventus of 32 goals in a season had he not missed from the spot late on.
Torrid Tonelli
It was Tonelli's foul on Adrien Rabiot that resulted in the free-kick from which Juventus scored their opener.
Then, having missed a good chance to level when heading wide from a corner, he was caught in possession leading to the crucial second goal.
What's next?
With the Scudetto wrapped up, Ronaldo and others may be rested for the final Serie A fixtures against Cagliari and Roma next week before the Bianconeri resume their Champions League campaign against Lyon in 12 days' time. Sampdoria host Milan on Wednesday before rounding out the campaign at Brescia.