Sergio Ramos scored the winning header after Lionel Messi cancelled oout Karim Benzema's early goal. The Frenchman fired in the from close range from Alvaro Morata's cross but soon the World Player of the Year ended his poor run with a fine shot past Ramos and Lopes to equalise and also reached 50 goals for the season.
Despite the huge gap between the two sides, the home fans backed their side creating an amazing atmosphere across the Bernanbeu. Real will be boosted with their second win over Barcelona in just five days edpecially for the Champions League last 16 trip to Old Trafford to face Manchester United on Tuesday.
With the European tie in mind which Real are desperate to win, Jose Mourinho rested seven regular starters including Cristiano Ronaldo.
Barcelona dominated the first half but without any threat going forward. However, the game turned interesting in the second half as Real brought in Ronaldo. The Portuguese made an immmediate impact on the field testing keeper Victor Valdes.
Spain defender Ramos leaped highest to head the winner from Luka Modric's corner but Barca had a chance to during injury time when Ramos looked to have clipped Adriano inside the area, but the referee thought otherwise.
Barcelona players surrounded the referee after the final whistle to argue on the penalty decision. Keeper Valdes was shown the red card for angrily protesting with the referee.
The Catalans are still 13 points clear off Real Madrid in the league standings.