Barcelona 1-2 Real Madrid
Cristiano Ronaldo scored the winner as Real Madrid took a giant stride towards a first La Liga title since 2008 with victory at Barcelona in el Clasico.
Ronaldo saw a header tipped over before Sami Khedira scrambled Real ahead after poor defending by captain Carles Puyol.
The hosts equalised when substitute Alexis Sanchez poked in from close range moments after replacing Xavi.
But Mesut Ozil fed Ronaldo to fire past Victor Valdes and send Real seven points clear with four games remaining.
They host Sevilla next Sunday, travel to Athletic Bilbao three days later and Granada on 6 May before finishing at home to Real Mallorca.
Barca travel to Rayo Vallecano, host Malaga and then Espanyol before going to Real Betis on the final day.
In all probability, Real boss Jose Mourinho is within touching distance his first Spanish league crown - and it will owe much to this result.
His side inflicted on Barca a first home defeat in 55 games and deservedly so after a near-perfect tactical display.
The out-of-sorts hosts looked jaded from Wednesday's Champions League semi-final first leg defeat at Chelsea.
Real also lost in midweek, at Bayern Munich, but they had an extra day to prepare and looked both fresher and more hungry.
Mourinho kept faith with the team beaten in Germany and he was rewarded with a performance combining enterprising attack and stout defence.
They looked dangerous on the counter-attack, worked tirelessly throughout and brought the European champions to their knees in a way few have managed in recent years.
Only four minutes were on the clock when Ronaldo nodded Ozil's corner towards goal, Valdes reacting well to turn it away.
Barcelona were predictably enjoying most of the possession but their ball-retention was uncharacteristically poor.
Aside from a Dani Alves chance - he was expertly foiled by Iker Casillas after intercepting a Pepe pass - they hardly mustered a clear-cut opportunity in the opening quarter.
Real were far more ruthless and in the 17th minute they struck a blow that silenced the home crowd.
Pepe met Angel di Maria's corner with a firm header at the back post, drawing a one-handed save from Valdes.
The ball fell to Puyol but the veteran Barca captain hesitated inexplicably and Khedira was able to bundle over the line.
Barca almost hit back when the ineffective Lionel Messi sent Xavi racing clear, only for his low strike to fizz wide via the thigh of Casillas.
It took Pep Guardiola's men almost 20 minutes to get going in the second half, but once they did another glorious opening was wasted.
Andres Iniesta fed Crisitan Tello with a deft flick and the 20-year-old blazed horribly high and wide when clean through on the left.
Xavi then skimmed a shot just wide and cut a frustrated figure as Guardiola replaced him with Sanchez.
The move immediately paid off - Sanchez stabbing in after Tello's drive was saved - but Real curtailed their celebrations in devastating fashion.
Ozil found himself with time and space on the right, he picked out Ronaldo with a perfectly-weighted pass and the Portuguese took a touch before placing a crisp finish beyond Valdes.