Barcelona took a huge step towards successfully defending their Spanish title with a key win over Real Madrid.
The architect of Barca's win was Xavi, who in the first half picked out Lionel Messi, with the Argentine controlling the ball and firing past Iker Casillas.
In the second half Xavi's pass sliced apart Real, with Pedro collecting the ball and curling a shot past Casillas.
Soon after Rafael van der Vaart missed a golden chance for Real, while Victor Valdes made some key saves for Barca.
The win moved Barca three points clear at the top of the table and leaves Real with a real struggle on their hands to wrestle the title away from Pep Guardiola's side with seven games to play.
"It's a big blow but they can't consider themselves champions yet," said Real coach Manuel Pellegrini after the game.
Cristiano Ronaldo was overshadowed by Messi and Xavi, with the Barcelona captain providing midfield control for the visitors.
Without Zlatan Ibrahimovic, Guardiola adopted an unusual and adventurous attacking formation, flanking Messi with Daniel Alves and Pedro.
As Barca adapted to that tactical switch, Ronaldo gave Barca some nervous moments with a couple of slaloming runs, with the Real forward claiming a penalty after he went over Gerard Pique's legs.
Fresh from his four-goal haul against Arsenal in midweek, Messi might also have been awarded a penalty as Raul Albiol appeared to take the Argentine's legs when he cleverly checked his run to outwit the Real defender.
Messi then picked up a yellow card for handball, with Xabi Alonso also booked for a tackle on Pedro.
Messi was soon giving Albiol more problems and the Real defender became the third player to be booked after he hauled the Argentine down as he motored towards the penalty area.
Not long afterwards Albiol was outwitted for a third time by Messi and this time there was no reprieve for Real.
Xavi's exquisite chipped pass picked out Messi, whose superbly timed run beat Real's offside trap and after wrongfooting Albiol, the world player of the year slipped the ball past Casillas.
With Barca dominating possession, Real struggled to pressurise the visitors' defence, though Alonso might have done better with a close-range header, while Higuain shot wildly over.
Guardiola rejigged his formation for the start of the second half, withdrawing Alves to his more familiar right-back role.
As Real searched for an equaliser the home side looked for Ronaldo at every opportunity.
At long last Real forced Valdes into a save, the Barca keeper moving quickly to his left to save Marcelo's deflected shot and then getting down to hold a Ronaldo effort.
But almost immediately Barca went 2-0 up with Xavi skewering the Real defence to release Pedro, whose precise left-footed shot curled round Casillas' outstretched glove.
Guti came on for Real and immediately pepped up the dispirited home side by freeing Van der Vaart who should have reduced the deficit, only to shoot straight at Valdes.
The Barca keeper played an important part in the champions' win making a series of saves to deny Fernando Gago and Ronaldo.
However Casillas was equally busy, twice saving from Messi, when it seemed certain that the Argentine looked certain to score each time.
Messi also came in for some rough treatment, notably from Sergio Ramos, who should have been booked for a wild swing at the Barcelona forward. Ezequiel Garay also went in wildly on Pedro and was deservedly booked.
In the final five minutes veteran Raul had the ball in the net but the goal was disallowed for a handball by Karim Benzema.
"We came to play the leaders who have won 15 out of 15 matches here this season so we are delighted," said Guardiola. "We won comfortably. It wasn't brilliant but you have to bear in mind we were playing a great team."