BARCELONA needed extra-time to complete a stunning second-leg comeback against nine-man Sevilla and reach the Copa del Rey final.
Gerard Pique scored in the 94th minute of normal time to make it 2-0 on the night and 2-2 on aggregate before Martin Braithwaite's extra-time winner at the Nou Camp.
Ousmane Dembele opened the scoring in the 12th minute to kick-start the comeback.
It was a stunning right-footed effort into the top left corner after Lionel Messi had fed him in the box.
But it was nearly all for nothing for Barca when Sevilla's Lucas Ocampos was brought down in the box and the ref pointed to the spot in the 73rd minute.
Ocampos got up and missed the penalty which would have been enough to see Sevilla through after their 2-0 first-leg win.
The Catalans' hopes were still alive and when Fernando was shown a second yellow for pulling back Trincao in the second minute of stoppage time, they smelled blood.
Pique struck the killer blow just two minutes later - glancing home a Antoine Griezmann cross to level the tie and send it to the extra period.
Things went from bad to worse for Sevilla in extra-time, Braithwaite getting on the end of Jordi Alba's low cross with an impressive diving header in the 95th minute that saw the tie turned completely on its head.
Luuk de Jong compounded the visitors' misery eight minutes later - as he was shown a straight red for abusive language to the fourth official.
CASINO SIGN UP OFFER: CLAIM UP TO £800 IN CASINO BONUS CASH
Most read in Football
Sevilla could not muster enough to pull one back and take it to penalties.
Barca will face the winner of Thursday's semi-final between Athletic Bilbao and Levante.
The teams are level at 1-1 after the first leg.
The final takes place on Sunday April 4.
⚽ Read our Football live blog for the very latest news from around the grounds