Real Madrid endured their first La Liga defeat of the season at newly-promoted Real Mallorca.
Madrid: Barcelona sailed back to the top of the table and trouble returned to Real Madrid after they endured their first La Liga defeat of the season at newly-promoted Real Mallorca.
Zinedine Zidane, David Beckham and Robinho were in the last Madrid team to lose a league game at San Moix in 2006 and 13 years later, Mallorca repeated the trick thanks to a scintillating strike by Junior Lago in the first half on Saturday.
Alvaro Odriozola allowed Lago too much room to cut inside and was then sent off late on, even if Madrid's attempts at a comeback looked doomed well before they were reduced to 10.
"The problem is we have to show every three days that we are good," Real coach Zidane said.
"That is what we don't do. We have to be consistent. We have to put more life into our game if we want to achieve anything this year."
The 1-0 defeat halts the resurgence of Zidane's side just as Barcelona's appears to be gathering pace, a 3-0 win away at Eibar giving the Catalans their fifth consecutive victory in all competitions. Lionel Messi, Luis Suarez and Antoine Griezmann scored the goals.
In between, Atletico Madrid were pegged back by Valencia as a brilliant Dani Parejo free-kick earned the visitors a hard-earned 1-1 draw at the Wanda Metropolitano.
It means Barca will finish the weekend top of the table for the first time this season as the defending champions continue to leave their stumbling start further behind them.
For Real, five games unbeaten and three of them victories had not erased the doubts, but at least seemed to offer evidence Zidane's team were turning a corner.
But Mallorca, who climb to 14th, deserved their triumph in what is their first season back in the top flight since relegation ended a run of 16 consecutive years there in 2013.
Lago collected the ball on the left in the seventh minute, drove at the retreating Odriozola before cutting inside and unleashing a shot into the far corner.
Madrid lacked purpose and cutting edge, with their hopes all but dashed when Odriozola capped a miserable night by flying in late on Lago in the 74th minute and collecting a second yellow card.
Zidane will hope to have at least one of the injured Luke Modric, Gareth Bale and Toni Kroos back for their crucial Champions League group match away at Galatasaray on Tuesday.
- 'MSG' fire for Barca -
Barcelona's autumn injury crisis is over and their 'MSG' attack is finally clicking into gear as Messi, Suarez and Griezmann all scored in a ruthless win over Eibar.
Griezmann's place in the newly-formed attacking trident has not been secure but the Frenchman opened the scoring at Ipurua before teeing up Messi and then playing the crucial pass for Suarez to make it three.
"There will be good and bad days but we are getting to know each other and bit by bit we will do even better," said Griezmann.
The victory also dismissed suggestions their players might be affected by Friday's postponement of next Saturday's Clasico due to protests in Catalonia. Barcelona's fans chanted in support of the nine Catalan leaders imprisoned last week for a failed independence bid in 2017.
The match against Real Madrid is now expected to go ahead in December.
"It is fashionable not to agree on political issues but at least let's agree on the date of the Clasico," Barca coach Ernesto Valverde said afterwards.
"It doesn't seem to be that difficult."
The only blot on the result was an injury to Sergi Roberto, who will be a doubt for the Champions League game at Slavia Prague on Wednesday after hurting his left knee.
- Atletico lose ground -
Atletico lost ground as they were undone by a late Parejo free-kick at the Wanda Metropolitano, where both sides finished the game with 10 men.
Diego Costa scored a first-half penalty and in a frantic final 10 minutes, Joao Felix limped off, with all three of Diego Simeone's substitutes already used. Parejo struck moments later before Valencia's Lee Kang-in was sent off in injury-time.
Atletico confirmed Felix suffered a "grade two sprain" in his right ankle. He will now miss the Champions League game at home to Bayer Leverkusen on Tuesday.