It was the Argentine who broke the deadlock on 10 minutes, finding the target from close range after Javier Mascherano was caught out by a long ball to level the tie on aggregate.
Madrid doubled their advantage on the night in the 19th minute when Ronaldo caught out Gerard Pique with a wry back heel and slid the ball past Valdes to make it 2-0.
Jose Mourinho's side thought they had scored a third when Pepe's header hit the back of the net on 23 minutes, but the linesman was flagging for offside.
Despite having Adriano sent off for a foul on Ronaldo on 28 minutes, Barca pulled a goal back on the stroke of half-time. Lionel Messi curled a free kick beyond Iker Casillas to make 4-4 on aggregate going into the break.
Barca had a golden opportunity to draw level on the night just after the hour mark when Mascherano's lofted pass found Pedro, but the striker couldn't find a way past Casillas.
At the other end, Real almost clinched a third through an unlikely source. Sami Khedira surged forward and left the Barca defence for dead before being denied by Valdes.
Higuain was an inch away from grabbing his second of the evening on 79 minutes when a last-ditch challenge from Mascherano forced his goal-bound shot onto the woodwork.
End-to-end action ensured a frantic finish. Luka Modric could have marked his Real debut with a goal in the final minute, before Martin Montoya and Messi both squandered chances to put Barca's name on the trophy in stoppage time.
Real's 2-1 victory saw the tie finish 4-4 on aggregate with Mourinho's men bagging the first silverware of the season on away goals.