Luis Suarez scored and was sent off as holders Barcelona reached a fourth successive Copa del Rey final after drawing 1-1 with a resilient Atletico Madrid in an action-packed semi-final second leg on Tuesday.
Suarez was one of three players dismissed and will now miss the final after Barcelona edged through 3-2 on aggregate.
The Uruguayan tapped in from close range in the 43rd minute after an inspired run and shot from Lionel Messi to deliver a sucker punch to Atletico, who had dominated the first half at the Nou Camp but failed to take their chances.
Kevin Gameiro blazed a penalty over the bar with 10 minutes remaining but the French striker still made for a tense finale by tapping in an Antoine Griezmann cross moments later.
Barca defender Sergi Roberto will also be suspended for the final after being sent off for a second booking in the second half and Atletico winger Yannick Carrasco was dismissed as well for a second yellow card.
Suarez was then sent off in the 90th minute for an elbow on Atletico defender Luis Hernandez.
Atletico had five minutes of stoppage time to snatch a winner and force extra time, but Barca withstood the pressure.
Barca, the 28-times winners, will meet either Alaves or Celta Vigo in the final in May, seeking a third successive Cup triumph under coach Luis Enrique.