The two key moments happened within six seconds of each other early in the match played behind closed doors at the Allianz stadium.
Juventus were awarded a penalty in the 16th minute after the VAR officials spotted the ball hitting Andrea Conti's elbow but Ronaldo slammed his effort against the foot of the post.
Milan cleared the ball upfield but, as they did so, forward Ante Rebic aimed a wild kick at Danilo and was sent off, forcing the visitors to play for more than 70 minutes with 10 men.
Milan, missing veteran forward Zlatan Ibrahimovic with a calf injury, held out well but rarely threatened to snatch the goal that would have taken them into the final.
Afterwards, Juve coach Maurizio Sarri remarked: "After three months, returning to the bench is a good feeling even if we lack the contribution of the public.
"Playing games in these conditions is not easy for anyone. I was satisfied with what we did in the first 30 minutes when we had an extraordinary dominion over the game.
"Then we went down in mental rhythms and intensity but right now the games are full of risks."
On a quiet Cristiano Ronaldo, Sarri added: "He had been asked for a sacrifice to play more centrally, the boy accepted and this is great news for us.
"He played well in the first half hour and then he suffered like the team. He is probably not used to making a penalty, he was unfortunate and some repercussions may have happened.
"Beyond the position, he is such a strong player that he can play five metres behind where he can make a difference."