Luis Suarez scored twice as Barcelona won at Real Madrid in a smash-and-grab El Clasico to reach a sixth consecutive Copa del Rey final.
Real dominated with 14 shots to Barca’s four but the visitors were clinical when it mattered.
Suarez smashed home Ousmane Dembele’s cross before Raphael Varane’s own goal put Barca in control.
An audacious chipped penalty from Suarez after he was fouled by Casemiro put the game beyond any doubt.
Both sides – who had drawn the first leg 1-1 – meet again at the Bernabeu on Saturday in La Liga.
The Copa del Rey final takes place on 25 May, when Barcelona will face either Real Betis or Valencia, with that tie to be settled on Thursday after the first leg finished 2-2.
Clinical Barca leave Real reeling
Suarez scored a hat-trick as Barca hammered Real Madrid 5-1 in El Clasico back in October, a result which cost Julen Lopetegui his job.
While this was another thrashing, the scoreline was not an indication of how the game went.
Ernesto Valverde’s side rode their luck at the Bernabeu to reach the final again as they look to win an unprecedented fifth successive Copa del Rey.
Marc-Andre ter Stegen made several fine stops to keep out Real before Barca scored with their first shot on target.
Suarez netted his 10th Clasico goal as he blasted home from 14 yards and he was involved in their second as Varane put Dembele’s cross into his own net in a desperate bid to stop the ball reaching the Uruguayan.
And Suarez scored again – with a Panenka penalty, a technique associated with Real captain Sergio Ramos this season – after he had won the spot-kick himself.
It was a relatively quiet night for Lionel Messi, who had scored a hat-trick in Saturday’s 4-2 win over Sevilla.
Now over to Saturday’s Clasico back in Madrid, with Barcelona looking to expand their seven-point lead at the top over Atletico Madrid.