Barcelona threatened an epic comeback against Atletico Madrid but came up short as the holders exited the Copa del Rey at the semi-final stage after a dramatic 4-3 defeat on aggregate.
Two goals from Marc Bernal, either side of a Raphinha penalty, gave the home side hope of a remarkable turnaround but they could not find a fourth to force extra time despite late pressure.
Diego Simeone’s side held on and they will face the winner of Real Sociedad and Athletic Club, who meet in the other last-four tie on Wednesday, in the final.
Barcelona faced an uphill task after they were thrashed 4-0 in the first leg last month as they looked to reach the final of the competition they have won 32 times.
Hansi Flick’s side started with intent, pressing the visitors from the start and peppering Juan Musso’s goal.
Raphinha went close early on when he fired into the side netting as Barcelona benefited from a high press which would not allow Atleti the chance to settle.
Ferran Torres then had two attempts on goal before Alejandro Balde, who came on an as an early substitute for the injured Jules Kounde, tested Musso.
The opener came in the 29th minute when superb work from Lamine Yamal down the left opened up space, and the teenage star crossed for 18-year-old Bernal to tap home after finding himself unmarked in the area.
The goal sparked hope inside the Spotify Camp Nou that a comeback could be on.
Barcelona beat Atleti at this stage last season on their way to winning the competition but they needed something special here to turn this around and keep the defence of their crown going.
Antoine Griezmann was Atleti’s brightest spark and hit the post before the offside flag went up and then Ademola Lookman turned a decent chance wide.
But in first-half stoppage time, Pedri was upended by Clement Lenglet in the area and Raphinha converted the resulting spot-kick as he sent Musso the wrong way.
Former Manchester City attacker Julian Alvarez forced Barcelona goalkeeper Joan Garcia into an early stop after the break before Bernal brought Musso into action again.
Marcus Rashford came off the bench as the hosts chased more goals but it was Bernal who scored next for the hosts when he turned in Joao Cancelo’s cross with 18 minutes to go for his fourth goal in four games.
Flick’s side continued to pile on the pressure late on but the closest they came was Gerard Martin’s curled effort which went just over.
