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 in an interview with Spanish television broadcaster Canal Plus 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," the Spain international added.
"I have always said that he (Ronaldo) is the best in the world and he always does the business in these games."
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, 12 points clear of Atletico at the top of La Liga but 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.
"It was a very good match for us and we played very well from the first minute to the 90th minute, very serious and with a great attitude," he told Canal Plus.
"We were the better team and scoring three goals at the Nou Camp is extremely difficult," he added.
"We have played very well recently in the games here and we are playing better here than at home.
"The league is difficult as Barca have a big lead and we have to focus on the Cup and the Champions League now."
Barca's World Player of the Year Lionel Messi went close early in the first half with a snap shot and sent a low free kick whistling just past the post but otherwise cut a forlorn figure and barely mustered a shot on goal.
It was another lacklustre Barca performance in both defence and attack and it was the 12th game in a row in all competitions they have failed to keep a clean sheet.
Assistant coach Jordi Roura, standing in for Tito Vilanova while he recovers from throat surgery, acknowledged Real had been highly effective in attack and Barca had made mistakes in defence.
However, he complained that his side should have had two penalties for what he said were clear fouls on Pedro.
"When you lose it's clear that you think about changing things so we are planning to play in a different way against Milan," he told at a news conference.
"We have to forget this defeat as quickly as possible," he added.
"The league is key and we must be focused on that while preparing a decisive game against Milan.
"We have to be optimistic and there is no reason to criticise the team, we will pick ourselves up."
Real are through to the final for a record 38th time. They have won the Cup 18 times.
Atletico Madrid will seek to protect a 2-1 advantage from last month's first leg when they play at Sevilla on Wednesday.