Spanish World Cup winner Gerard Pique scored a 67th minute winner as Barcelona capitalised on Real's surprise 1-0 home loss to unfashionable Sporting Gijon on Saturday, which ended coach Jose Mourinho's infamous 150 game league home record.
Barcelona needed a heroic late save from goalkeeper Victor Valdes to clinch all three points and take a huge step towards the 2010/11 league title.
"It is an important step towards the title," said Pique. "We just have to keep on going now. Real Madrid will never give up but we have everything in our hands."
Madrid host Barcelona on the weekend April 16/17 at the Santiago Bernabeu, but Mourinho openly admitted that the title race was virtually over after his side surrendered their 100 percent home record with a 1-0 loss against Gijon.
Miguel de las Cuevas stunned Real with a 78th minute winner as Mourinho lost his first home league match in over nine years with his last league home loss back in February 2002 when his FC Porto side lost 3-2 at home to Beira Mar.
"Luck is a part of football and our opponents had it all, while we didn't have any," said Mourinho
"We had Cristiano (Ronaldo), Marcelo, (Karim) Benzema and Xabi (Alonso) missing and had to play a bit more direct tonight. We had lots of goalscoring chances from two or three metres but they just didn't go in."
The return of Argentine international forward Gonzalo Higuain, out of action with a back problem since late November, was the only positive on a terrible night for Real, who must pick themselves up for Tuesday's Champions League quarter-final first leg against Tottenham Hotspur at the Bernabeu.
The Gijon loss was a real boon for Barcelona, who started Lionel Messi started on the bench with coach Pep Guardiola not taking any chances on his leg injury ahead of the Champions League quarter-final first leg at home to Shakhtar Donetsk on Wednesday.
Italian striker Giuseppe Rossi had two chances early on but was foiled by the heroics of Barca goalkeeper Valdes.
With several new faces starting, Barcelona were a shadow of themselves and did not create a major chance until two minutes before half-time.
Teenage midfielder Thiago Alcantara, 19, fed David Villa and the Spain striker was about to shoot only for the alert Jose Catala to save the day with a last ditch challenge.
Barcelona picked up their game in the second half and Villa showed great control to turn his man but his snapshot fizzed wide of the post.
Messi came on for Seydou Keita on 52 minutes to lift Barcelona, but the inspiration came from Pique who controlled a cross on his chest before volleying home the winner.
Valdes pulled off a wonder save in stoppage time to stop Santi Cazorla's thumping drive and the goalkeeper was congratulated by his celebrating team mates after the final whistle.
Villarreal's second home defeat of the season sees them fall to fourth, three points behind Valencia who beat Getafe 4-2 on Saturday.
Valencia striker Roberto Soldado bagged a second half quadruple to down his old club Getafe as Valencia came from a goal down to win 4-2 on Saturday and move above Villarreal into third.
Manu del Moral had put Getafe into a 12th minute lead but Soldado, who joined Valencia from Getafe for 10 million euros in the summer, had a sensational second half scoring a 20-minute hat-trick (46, 64, 66) before adding his fourth on 77 minutes.