ISABELLA BONOTTO/Getty Images
The Rossoneri appeared to take control of the tie thanks to a 61st-minute finish from Ante Rebic. Milan then reduced to 10 men after former Real Madrid left-back Theo Hernandez was sent off for a second yellow card after bringing down Paulo Dybala.
Juve made the extra man count when Ronaldo's overhead kick was blocked by the arm of Davide Calabria. A VAR review deemed the incident worthy of a spot-kick, and Ronaldo made no mistake from 12 yards.
It means the Bianconeri have a priceless away goal going into the second leg in Turin on March 4.