Real Madrid replaced Barcelona atop the Primera Division as Luis Suarez's Camp Nou debut ended in Barcelona first home defeat since January.
The Catalan giants had nine shots on target and hit the woodwork three times but failed to score at home for the first time since October 2011 as the 1-0 away win was decided by Joaquin Larrivey's strike in the 55th minute.
It was a second straight loss in La Liga for Luis Enrique's side following last weekend's El Clasico reverse at the Bernabeu, and meant Real moved top with their 4-0 win at Granada.
Cristiano Ronaldo scored after just 99 seconds, the insatiable Portuguese forward's 20th goal in 12 games, and James Rodriguez scored half an hour later followed by a tap-in in the second half while Karim Benzema also got in on the scoring act. It was Real's 11th consecutive win in all competitions as they prepare to host Liverpool in the UEFA Champions League on Tuesday.
City rivals Atletico Madrid cruised to a 4-2 win against Cordoba as Antoine Griezmann scored twice and Koke had a hand in three goals. Griezmann put Atletico ahead just before the break but Nabil Ghilas grabbed the first of his two goals to level things up shortly after the interval.
Griezmann's second restored the home side's lead and further goals from Mario Mandzukic and Raul Garcia put the result beyond doubt before Ghilas scored his second.
Juanmi scored the only goal as Malaga won 1-0 away to struggling Real Sociedad. The playmaker found the net from close range as a lacklustre game entered its final 20 minutes, and it was enough to seal maximum points.