Napoli, who beat Juventus in the final to win last season's Coppa Italia, came close to taking the lead midway through the first half, but Hirving Lozano's bullet header was brilliantly saved by Juve goalkeeper Wojciech Szczesny.
Substitute Federico Bernardeschi almost made an immediate impact early in the second half but was denied by David Ospina in the Napoli goal, before Ronaldo pounced from close range in the 64th minute.
As Gennaro Gattuso's side committed bodies forward in stoppage time, Juve broke on the counter with Morata making sure of the win that secured Andrea Pirlo his first trophy as a senior coach.
"It is a great joy to win a trophy," Pirlo told Rai Sport. "It is even more beautiful than winning as a player.
"It is difficult to see beautiful finals. It was important to win above all after the defeat against Inter (Milan in Serie A on Sunday). We had to show our pride."
The Supercup final is often played abroad with the last two editions in Saudi Arabia. However, Wednesday's match was contested in Italy at Sassuolo's Mapei Stadium due to the coronavirus pandemic.
The first hour of the contest was cagey, with few clear-cut chances. Even Ronaldo was quiet before he scored his 20th goal of the season in all competitions.
The referee awarded Napoli the penalty after consulting the pitchside monitor but Insigne wasted the opportunity, missing from the spot for the third time against Juventus in all competitions.
Morata then came off the bench to tap home at the far post to complete the win.
"With Lorenzo [Insigne] the first thing he has to do is not to feel the responsibility," Gattuso said. "The first culprit is me, not Insigne.
"I congratulated my boys because they played the game they had to. We must respect Juve."