After the first leg ended 1-1, Madrid neutralized Barcelona’s passing game and counterattacked to perfection at the Camp Nou to hand its archrival a second straight cup setback, following a 2-0 loss at AC Milan in the first leg of their Champions League matchup.
Ronaldo scored for a sixth straight visit to Camp Nou when he earned and converted a penalty in the 13th minute.
Ronaldo hit again on the break in the 57th before Raphael Varane got his second goal of the series in the 68th.
Jordi Alba pulled a late goal back for Barcelona, but it was much too late to prevent Madrid from going through 4-2 on aggregate.
Barcelona visits Madrid on Saturday in the Spanish league, with a 12-point lead atop the standings.