Ronaldo, only introduced as a second-half substitute, was shown two quickfire yellow cards.
Ronaldo, only introduced as a second-half substitute, was shown two quickfire yellow cards after blasting Madrid into a 2-1 lead with 10 minutes to go.
However, Real extended their advantage with 10 men thanks to a sumptuous late strike from Marco Asensio.
Earlier, Lionel Messi's penalty had cancelled out Gerard Pique's own goal as Barca failed to get the early season boost they needed after losing Brazilian star Neymar to Paris Saint-Germain for a world record transfer fee.
The sides will meet again in Madrid for the second-leg on Wednesday.
Without Neymar, Barca struggled to find their rhythm going forward as Gerard Deulofeu failed to impress in the role alongside Messi and Luis Suarez up front.
Suarez had the hosts' best effort of a timid opening half when his driven low volley was collected at the second attempt by Keylor Navas.
At the other end Marc-Andre ter Stegen's only serious save of the first period came when Gareth Bale's effort from Isco's dangerous cross was turned over.
Madrid immediately upped a gear at the start of the second period and were rewarded with the opening goal in a manner that would have delighted most Real fans.
Pique is often Madrid's chief aggravator, but the Spanish international was left embarrassed as he turned Marcelo's delivery past the helpless Ter Stegen into his own net.
Only an incredible goal line clearance from Jordi Alba then prevented Dani Carvajal from doubling Madrid's advantage seconds later as the game began to open up.
Ronaldo had been kept in reserve by Zinedine Zidane having missed most of pre-season after his participation in the Confederations Cup with Portugal, but was finally introduced for an action-packed cameo appearance on the hour mark.
With Mateo Kovacic also replaced by Asensio, Messi was given more licence to create and led Barca back into the game as Sergio Busquets somehow blazed over from close range before Messi stung the palms of Keylor Navas.
The Argentine eventually got on the scoresheet from the penalty spot after Navas was adjudged to have brought down Suarez inside the area 13 minutes from time.
However, Madrid took just three minutes to retake the lead in stunning fashion as Ronaldo cut inside Pique before curling into the top corner.
The World Player of the Year was booked for taking off his shirt in celebration.
And that was to prove very costly just two minutes later when he saw a second yellow card for diving as he went down under a challenge from Samuel Umtiti inside the area.
However, rather than offer Barca route back into the tie, Madrid all but assured they will lift the Super Cup for a 10th time when Asensio blasted into the top corner from the edge of the box as the game entered stoppage time.