Cristiano Ronaldo crushed Barcelona's treble hopes with two goals in a 3-1 away win for Real Madrid in their King's Cup last four, second leg on Tuesday to set up a showdown against Atletico Madrid or Sevilla in May's final.
The Portuguese forward became the first player to score in six straight 'Clasicos' away from home when he picked himself up after being felled by Gerard Pique in the 13th minute and struck a powerful low penalty into the corner past Jose Manuel Pinto.
Barca dominated possession but rarely threatened and Ronaldo doubled the lead when he collected a rebound from a 57th-minute Angel Di Maria effort and stroked the ball calmly into the net with Pinto stranded.
The Portuguese has been criticised in the past for failing to perform in important games but it was his 12th goal in 18 appearances against Barca since joining Real in 2009 and his second double in as many games at a stunned Nou Camp.
Real rubbed salt in the wounds of their arch-rivals when Raphael Varane, who scored the equaliser in the 1-1 draw in last month's first leg at the Bernabeu, rose above the defence at a 68th-minute corner and sent a header arrowing into the net off the crossbar.
Jordi Alba pulled one back in the 89th minute but it was far too late for Barca who conceded three goals to Real at home for the first time since a 3-3 draw in March 2007. They had not lost to the Madrid club by two goals at their giant arena in more than a decade.
"We are coming away with the feeling that we have done a very good job," Real captain Sergio Ramos said after his side went through 4-2 on aggregate.
"You always suffer against Barcelona because they look for the spaces and they make things hard for you but we fought very well," he added.
Real's thumping victory will give them a huge boost ahead of Saturday's La Liga clash at home to Barca and Tuesday's Champions League last 16 second leg at Manchester United.
Barca, facing Champions League elimination after losing 2-0 at AC Milan last week, need to pick themselves up for Saturday's trip to the Bernabeu and the return leg at home to Milan on March 12.
With Real four points behind Atletico in third in La Liga, Ronaldo acknowledged their hopes of a second successive title were slim and said they would be concentrating on the Cup and the Champions League.