Luis Suarez drilled in a brilliant second-half winner as Barcelona maintained control of the Spanish title race by beating Real Madrid in a pulsating El Clasico.
Cristiano Ronaldo cancelled out an early header from Jeremy Mathieu before Suarez struck to leave the hosts four points clear at the top of La Liga.
Although Barca made the brighter start, Real soon got into the game and had the first big chance when Karim Benzema's cross found Ronaldo unmarked at the far post, but he did not have much angle to work with and could only send his cushioned volley against the crossbar.
Barca then went ahead after Suarez won a free-kick, Lionel Messi swung it into the middle and French centre-back Mathieu arrived unmarked to send a perfectly placed header past the dive of Iker Casillas.
But Real battled quickly back and a dramatic minute saw Suarez's cross-shot present Neymar with a golden chance which he put straight at Casillas, before Real immediately broke and Benzema's brilliant backheel found Ronaldo for a low stabbed finish.
Real finished the opening period in the ascendancy as Gareth Bale had a goal disallowed for a marginal offside and Ronaldo forced a good save from Claudio Bravo with a thunderous long-range drive.
The visiting team made a similarly strong start to the second half with an early chance for Benzema saved. But Barca then re-established the advantage with a decidedly route one goal as Brazil right-back Dani Alves delivered a long ball over the top, Suarez produced brilliant control and then steered a perfectly placed low finish into the bottom left corner.
The home team were dominant after that, squandering several chances to double their lead as Neymar ended a brilliant run by blazing over and then thrashed a shot wide after a pass from Messi, while Casillas did well to save from both Messi and Jordi Alba.
Real had little answer and, aside from a deflected strike from Benzema which Bravo did well to save low to his left, they never seriously threatened an answer as a jubilant Nou Camp celebrated a well deserved win.
Is Suarez finding his Liverpool form?
This was a very different Luis Suarez from the man who made his belated Barca debut on the right wing in October's 3-1 Clasico defeat at the Bernabeu.
Suarez is now firmly established as the team's centre forward and he delivered a man-of-the-match performance, scoring a superb winner which owed everything to a delightful first touch, and giving the Real back four a torrid night with his superb movement and relentless workrate.
Just a few weeks ago Barca boss Luis Enrique was forced to regularly defend the former Liverpool man after his career in Spain started with a notable lack of goals, but that has all changed ever since his brace against Manchester City in the Champions League.
Suarez has now scored seven goals in seven games since that triumphant night at the Etihad, and his Clasico performance, in which he again linked well with Lionel Messi and Neymar, confirms he is an integral part of the most devastating strike force in world football.
How did Gareth Bale play?
Gareth Bale has faced media criticism over his recent Real Madrid form
Bale endured an ultimately disappointing evening, but it could have all been so different as his night turned on two key moments in quick succession at the end of the first half when the game was tied at 1-1.
Firstly, the Welshman had a goal contentiously ruled out for offside as he turned a deep cross at the far post, with replays later showing that although he was onside, Cristiano Ronaldo was offside - just - when he flicked the ball on to Bale.
Then, after Ronaldo had a pile-driver tipped over the bar, a goalmouth scramble from the subsequent corner saw the ball drop at Bale's feet but he snatched at the chance and sent his right-footed shot wide - a glorious opportunity to give his team a half-time lead.
The second period was extremely disappointing for the former Tottenham man, who failed to make any impact as his team chased a leveller while he also - understandably, in the circumstances - lost the defensive rigour he had shown in the first half, and he finished with fewer touches than any other player who stayed on for the full 90 minutes.
Messi v Ronaldo - who won their personal duel?
When the two players almost unanimously regarded as the best in the world go head to head, direct comparisons are inevitable and the verdict on this occasion is that although Messi didn't score, he exerted a greater all-round impact than Ronaldo.
The Argentine delivered a perfect free-kick into the penalty box for Mathieu's headed opener and was the chief string-puller as his team ran riot in the second period, producing an especially delightful pass to create a late chance for Jordi Alba.
Despite hitting the bar, scoring and bursting into life for the final stages of the first half, Ronaldo endured a largely frustrating night and did nowhere near enough to assist his team's attempts to find a second-half leveller.
Stats show Messi had 77 touches of the ball compared to Ronaldo's 52, and that accurately reflects their overall influence on the game.
Is this Barca unrecognisable from Pep's Barca?
A couple of years ago, the suggestion Barca could win a Clasico at home by scoring with a header from a free-kick and a winner via a long ball over the middle of the opposition defence would have been heartily laughed away.
Under Pep Guardiola, Barca became the ultimate exponents of a short-passing game which changed the way many teams played the game all over the world.
But those days are gone, tiki-taka is no more and new boss Luis Enrique is fashioning a much more direct team whose primary tactical ambition is getting the ball forward to their sensational front three as quickly and as often as possible.
Tellingly, Xavi - the man who orchestrated the team's greatest performances under Guardiola - was left on the bench and only appeared for the final 11 minutes, while his former chief passing partner Andres Iniesta was only a peripheral presence.
Does defeat put Ancelotti's job under threat?
Barca are now strong favourites for the La Liga title, establishing a four-point lead over their perennial rivals. Put simply, if they win nine of their last 10 games, they are champions.
For Real, the result and, even more so, the insipid nature of the team's submissive second-half performance will do nothing to ease the growing pressure on under-fire manager Carlo Ancelotti.
There have already been reports that club president Florentino Perez is losing patience with the Italian and, although he almost certainly will not be sacked in the immediate future, it is becoming increasingly difficult to see him at the Bernabeu next season.
Jeremy Mathieu netted his first La Liga for Barcelona since arriving from Valencia last summer
Cristiano Ronaldo poked Madrid level - his seventh goal in his last eight visits to the Nou Camp
s
Luis Suarez's matchwinner was hisixth goal in his last seven La Liga appearances