Luis Suarez scored twice in the Copa del Rey El Clasico second leg against Real Madrid on Wednesday night at the Santiago Bernabeu to help the League champions reach a sixth consecutive final.
Real dominated the encounter with 14 shots to their visitor’s four, but the Catalans were more clinical than their rivals.
Suarez grabbed his first goal from 14 yards five minutes after the resumption of the second half, before Raphael Varane’s own goal in the 69th minute put Barcelona in control, when he turned in Ousmane Dembele’s cross.
Then the Uruguayan chipped Real’s goalkeeper, Keylor Navas, from the spot in the 73rd minute after he was fouled by Casemiro, putting the game beyond the European Champions.
Both sides, who would meet again in La Liga on Saturday, had drawn the first leg 1-1 at Camp Nou three weeks ago.
Barcelona keeper, Marc-Andre ter Stegen, made several fine saves to keep out Madrid before his club scored with their first shot on target.
It was an unusually quiet night for Lionel Messi, who had scored a hat-trick over the weekend in a 4-2 win over Sevilla.
A draw would have secured the capital club their first Copa del Rey final since 2013-14 season following their away goal at the Nou Camp.
Real Madrid’s Vinicius Junior caused defender, Semedo, problems, and had five of his side’s seven shots in the first half, as well as a penalty appeal, which was turned down.
His best chance came when Ter Stegen denied him from close range, while he also shot the ball twice over from inside the box.
Real pushed for a goal after Suarez’s opener, to at least force extra-time.
Another youngster, Sergio Reguilon, who played in the left-back position, had Madrid’s best chance with a wonderful diving header, which was saved by Barcelona’s number one.
Dani Carvajal also had a fierce shot saved by the keeper.
Barcelona face either Real Betis or Valencia in the final on May 25. The tie between the two sides will be decided on Thursday, after the first leg ended 2-2.