The Portugal international struck with a second-half header as Juventus, runners-up in the previous two seasons, got their hands on the trophy for the first time since 2015.
It was also a first piece of silverware for Ronaldo since he swapped Real Madrid for Turin last summer.
Juve bossed the first half and Douglas Costa fired a shot across goal and narrowly wide before Joao Cancelo drove just the wrong side of the far post.
Blaise Matuidi had the ball in the net just after the half-hour mark but he had strayed offside as he received a pass 10 yards out.
Ronaldo's first opportunity arrived three minutes before the interval, his attempted scissor kick crashing into the turf before bouncing over the crossbar.
But Juve were almost caught out on the stroke of half-time when Hakan Calhanoglu's snap-shot forced a smart save from Wojciech Szczesny.
Shortly after the break Milan's Patrick Cutrone's fierce shot beat Szczesny but crashed back off the crossbar.
But on the hour Ronaldo struck, ghosting beyond the Milan backline and glancing Miralem Pjanic's ball over the top past Gianluigi Donnarumma.
Paulo Dybala thought he had scored a spectacular second after a series of one-twos with Matuidi sliced open the Milan defence but once again an offside flag cut the celebrations short.
Gonzalo Higuain, heavily linked with a move to Chelsea this month, came on as a substitute for Milan but their task got harder in the 73rd minute when Franck Kessie was sent off for a nasty foul on Emre Can.
Milan felt they should have had a late penalty when Can caught Andrea Conti in the area but their appeals fell on deaf ears as Juve held on.