Luis Suarez scored and was sent off as nine-man Barcelona held on to reach the Copa del Rey final with a thrilling aggregate victory over 10-man Atletico Madrid at the Nou Camp.
Suarez tapped in on 43 minutes, before Barcelona's Sergi Roberto and Atletico's Yannick Carrasco were sent off for receiving two yellow cards.
Substitute Kevin Gameiro then missed a penalty before equalising late on.
Suarez was then shown a second yellow and will therefore miss the final.
Antoine Griezmann had a goal wrongly disallowed for offside when Atletico had a man advantage, while Lionel Messi also hit the bar with a brilliant free-kick in a frantic second half.
Holders Barcelona will now meet either Alaves or Celta Vigo in the final, with those sides playing the second leg of their semi-final tie on Wednesday.
Luis Enrique's decision to play Messi was ultimately vindicated as the talismanic striker avoided the yellow card that would have ruled him out of the final, but Suarez's suspension will come as a shock, with the Uruguay striker picking up two yellow cards in the final three minutes.
The first was a clear foul but Suarez was perhaps right to feel aggrieved at the second, with Koke making the most of their aerial collision as referee Jesus Gil Manzano produced his third red card of the evening.
The other two dismissals were less controversial, Roberto committing a daft foul when already on a caution, just as Aleix Vidal was being readied to replace the right-back on 57 minutes.
Carrasco's second clumsy foul 12 minutes later was similarly ill-advised, opening up the game and leaving Atletico vulnerable to a Barcelona side previously in retreat.
Atletico fail to take advantage
Yet even with Carrasco's dismissal, the visitors will feel they squandered plenty of clear opportunities to take Barcelona to extra time or even completely overturn the 2-1 first-leg deficit.
They dominated the early stages, playing with an intensity that rattled the hosts, and Carrasco and Savic both missed decent chances before keeper Miguel Angel Moya parried Messi's effort straight into Suarez's path for the opener.
Barcelona were then able to slow the pace of the game to suit their style, with Atletico unable to trouble them for long periods before a remarkable final half-hour.
Gameiro struck a poor penalty attempt against the bar, before tapping in Griezmann's squared pass for the equaliser minutes later.
And although Atletico will point to the incorrect decision to rule out Griezmann's fine finish, Barcelona ultimately showed enough resolve to progress as they attempt to win a third straight Copa del Rey.
Source: Radio Television Brunei