Barcelona pulled off a stirring comeback from two goals down to beat Sevilla 3-0 after extra-time in their Copa del Rey semi-final second leg, winning 3-2 on aggregate.
Danish forward Martin Braithwaite grabbed the decisive goal with a scrappy diving header early in the extra period after Ousmane Dembele had given Barca the lead in the 12th minute and Gerard Pique had levelled the tie deep in added time, moments after Fernando had been sent off for Sevilla.
Sevilla, who won the first leg at home 2-0, deployed uncharacteristically negative tactics yet they wasted a glorious chance to make it 1-1 in the second half and effectively kill the tie when Lucas Ocampos squandered a penalty.
The visitors' misery was compounded when Luuk de Jong was sent off from the bench late on after allegedly abusive language to the fourth official.
Barca will meet either Levante or Athletic Bilbao in the final in Seville on April 17, looking to lift the Copa del Rey for a record-extending 31st time.
Barca had won 2-0 at Sevilla on Saturday to go second in La Liga, leading their coach Ronald Koeman to declare his side had every chance of turning the tie around.
But their preparations were overshadowed when former President Josep Maria Bartomeu was arrested on Monday and the club's Camp Nou offices were raided in a probe related to allegations of improper management and business corruption.
The club will elect a new leader on Sunday and the three candidates, Joan Laporta, Victor Font and Toni Freixa, were all present in the Presidential box to witness the comeback.
Dembele got them off to an ideal start with a scorching strike into the top corner from outside the box, and they would have scored a second with a deflected effort had Sevilla's Marcos Acuna not cleared the ball off the line.
Barca continued to dominate in the second half and left back Jordi Alba almost levelled when he flew high into the air to meet a cross on the volley and rattle the crossbar.
Sevilla then launched a rare attack and earned a penalty when Ocampos was felled by Oscar Mingueza.
The Argentine, making his comeback from an ankle injury, scuffed his shot, however, and German 'keeper Marc-Andre Ter Stegen caught the ball to keep his side in the competition.
Sevilla's De Jong, who had been substituted in the 54th minute, was shown a red card from the bench at the death.
Sevilla defended deep for the remainder of the game but could not prevent Pique heading home a Griezmann cross to force extra-time and the Catalans had all the momentum plus an additional man to complete a famous win.