Luis Suarez helped Barcelona into another Copa del Rey final but he will be forced to miss it as he was sent off in a dramatic 1-1 draw with Atletico Madrid at Camp Nou that secured a nervy 3-2 aggregate triumph.
The Uruguay international opened the scoring against the run of play, tapping in after Miguel Angel Moya had only managed to parry Lionel Messi's effort in the 43rd minute.
But, after Sergi Roberto and Yannick Carrasco had been dismissed, substitute Kevin Gameiro atoned for his penalty miss by levelling the scores on the night from close range seven minutes from time.
Barca just needed to keep their cool and hold on for a shot at a third consecutive Copa title, but Suarez was the third man to pick up a second booking as he caught Saul Niguez while competing for a header.
Diego Simeone's side had been well on top when they fell behind to Suarez's simple finish, with Roberto dismissed early in the second half and Antoine Griezmann having an effort incorrectly disallowed for offside almost immediately after.
Atletico surrendered their numerical advantage 21 minutes from time, Carrasco clattering into Arda Turan to get his second yellow, and yet their best chance to score was still to come.
Gerard Pique was adjudged to have brought down Gameiro in the box, but after he picked himself up to take the spot-kick, the Frenchman fired it against the top of the crossbar.
Deflated by that blow, Atletico's threat faded before Suarez's late indiscretion - leading to his first Barca dismissal - briefly revitalised them, but Luis Enrique's men dug deep to make it through.
1 - Luis Suárez has been sent off has been sent off for the first time in his career for Barcelona (all competitions). Shock. pic.twitter.com/UqF5Osy6Se-- OptaJose (@OptaJose) February 7, 2017
Despite being up against it for much of the opening half, Barca came close to breaking the deadlock early on when Suarez's low strike forced a near-post save from Moya.
Atletico responded with a swift counter-attack and Carrasco should have done better after creating space to shoot deep inside the box, but his effort was too close to Jasper Cillessen.
There was another warning shot from the visitors in the 11th minute, Cillessen having to quickly change direction to keep out Griezmann's header before gathering the loose ball.
A powerful Diego Godin header and some urgent defending from Jordi Alba to thwart Griezmann underlined the growing threat of Simeone's side.
But they failed to make their superiority count and Barca pounced against the run of play on the stroke of half-time, Suarez prodding home from Messi's saved effort.
Atletico were handed added impetus when Roberto was given his marching orders having gone in studs-up on Filipe Luis, but a poor decision from the assistant referee to flag Griezmann offside as he picked out the bottom corner denied them a leveller.
Their momentum appeared to be stifled when Carrasco mindlessly fouled Arda to call his evening to an end, and Messi almost put the tie to bed with a stunning free-kick that cracked the underside of the crossbar from 30 yards.
But Pique's foul on Gameiro handed Atletico a penalty from which the 29-year-old missed, only to make amends with a tap-in from compatriot Griezmann's assist three minutes later.
Suarez was flagged offside late on as he sought to seal Barca's progression, but he soon ended his own involvement in this year's competition with a foul that led to the game's third red card.
Simeone's side pushed to force it to extra time, but came up short and Barca will meet either Alaves or Celta Vigo in the final, with the sides playing on Wednesday in a tie that is goalless after the first leg.