With three second-half goals, Barcelona beat Real Madrid 3-0 at Santiago Bernabeu Stadium on Wednesday to reach the Copa del Rey final for the sixth straight time.
Luis Suarez scored twice as Barcelona advanced 4-1 on aggregate after being held to a 1-1 draw at Camp Nou three weeks ago. The Catalan club also benefited from an own goal by Madrid defender Raphael Varane.
Barcelona will be trying to win an unprecedented fifth straight Copa title in the May 25 final in Seville. Madrid hasn't made it to the Copa final since it won its last title in 2014 against Barcelona.
This year's other finalist will be decided on Thursday, when Valencia hosts Real Betis after a 2-2 draw in the first leg in Seville.
It was the second of three matches between the rivals in less than a month, and the first of two consecutive meetings at the Bernabeu. They will also play each other on Saturday in the Spanish league, with Barcelona nine points in front of Madrid in the standings.
After conceding at home, Barcelona needed to score at the Bernabeu to have any chance of advancing, and it didn't look good for the Catalan club as it was outplayed by Madrid throughout the first half. The hosts created most of the scoring chances, including a couple of clear ones for young Brazilian forward Vinicius Junior. He failed to get a shot off in a one-on-one situation, then missed over the crossbar from close range.
Barcelona took advantage of Madrid's misses and quickly struck after halftime, with Suarez firing a low shot past goalkeeper Keylor Navas after a cross by Ousmane Dembele, who made a run behind the Madrid defenders following a through ball by Jordi Alba on the left flank.
The second goal came less than 10 minutes later, when Varane tried to intercept Dembele's cross for Suarez and ended up finding his own net.
It didn't take long for Suarez to add another with a Panenka-style penalty in the 73rd after he was fouled by midfielder Casemiro inside the area.
Some Madrid fans began leaving the Bernabeu not long after Suarez's penalty hit the net, and a few chants protesting against club president Florentino Perez also followed.
Gareth Bale, who earlier Wednesday escaped punishment for a gesture toward fans after scoring in a league match against Atletico Madrid, came off the bench to replace Lucas Vazquez with Madrid down by a goal, but the Wales forward wasn't able to help much.