Luis Suarez, 123 days after he sunk his teeth into Italian defender Giorgio Chiellini at the World Cup, started for Barcelona for the first time since his £75million move from Liverpool.
But it was a wretched return for the Uruguayan, as Real came from behind to close the gap to one point on leaders Barca.
Inevitably, Cristiano Ronaldo scored – he always does at home – with Pepe and Karim Benzema adding the decisive blows in a one-sided second half.
Barcelona had rolled their tanks on to the Bernabeu turf with Lionel Messi, Suarez and Neymar in attack showing the confidence of a team that has won here four times in their last six visits.
Facing down those Catalan guns was £303m worth of Real talent, with free-scoring Ronaldo the spearhead.
It promised to be a cracking El Clasico and it delivered, Barca taking the lead inside four minutes with Suarez the provider.
He fed Neymar on the edge of the penalty area and the Brazilian chested down the ball, took a step inside and hammered it past Iker Casillas.
The Bernabeu fell into a stunned silence, except for the 500 Barca fans perched high in one corner, who were delirious.
Messi, unlike the celebrating away fans, was largely kept quiet.
Indeed, his main contribution a nasty tackle on the impressive Toni Kroos that rightly brought a yellow card.
The Argentine then missed a glorious chance from eight yards after Suarez again delivered a clinical pass from the right wing.
Real kept coming, Ronaldo furious not to get a penalty after running into Sergio Busquets. Barca were not so fortunate minutes later when again Marcelo broke free down the left, he crossed low, Gerard Pique slipped and handled the ball on the ground.
Ronaldo slotted in the penalty with the calmness of a man in such rich form – it was his 22nd goal of the season and maintained his run of scoring in every home league game since September of last year.
It was the first time Barcelona keeper Claudio Bravo had been beaten in the league this season.
Real cracked open Bravo’s vault again only five minutes into the second half and they did it very simply – Pepe rising unchallenged to send an unstoppable header into the bottom corner from Kroos’ corner.
Facts from Saturday’s Clasico which Real Madrid won after beating Barcelona 3-1.
– Real Madrid have won two Clasicos in a row with Iker Casillas as captain for the first time in all competitions.
– The last team to have scored as many goals in the opening nine games of a La Liga season were also Real Madrid in 1959/60 (33).
– Karim Benzema has scored four goals in his last three league games against Barcelona at the Santiago Bernabeu.
– Neymar has scored his last eight goals for Barcelona from just nine shots on target in all competitions.
– Cristiano Ronaldo has scored in his last 11 games, his best run scoring for Real Madrid.
– Karim Benzema is the only player to have hit the woodwork twice against Barcelona in a La Liga game (2003-2014).
– Real Madrid have scored more fast break goals than any other team in La Liga this season (four goals).
– Lionel Messi has been booked seven times vs Real Madrid, three more than versus any other side in all competitions.
– Toni Kroos is the Real Madrid top assister in La Liga this season with five, three of them from set pieces.
– Cristiano Ronaldo has scored in 16 of his last 17 league appearances (25 goals).
The third goal came from an unlikely source – a Barcelona corner; Ivan Rakitic with his first touch skidding a low ball to the edge of the area with Andres Iniesta then trying a flicked pass that Isco intercepted and Real were away.
Isco passed a little short for Ronaldo, but he simply swivelled, played it square to James Rodriguez, who slid in Benzema.
It was training ground stuff past an exposed defence and Benzema finished emphatically.
Suarez, who had scored on his debut for his last three clubs, was sacrificed in the 69th minute – he had run himself ragged and showed some clever turns and touches but he will have better days.