Zinedine Zidane, David Beckham and Robinho were in the last Real 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.
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 as they lost 1-0.
The 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 15 consecutive years there in 2014.
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.
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.
Victory also dismissed suggestions their players might be affected by Friday’s postponement of next Saturday’s El Clasico due to protests in Catalonia.
Violence in Barcelona and disruptions at El Prat airport meant Ernesto Valverde’s side altered their pre-match routine and embarked on a 589-kilometre bus trip to the Basque Country on Friday.
All the while, discussions continued over the Clasico against Real Madrid, which is now expected to go ahead in December.
Barcelona’s fans chanted in support of the nine Catalan leaders imprisoned last week for a failed independence bid in 2017.
“It is fashionable not to agree on political issues but at least let’s agree on the date of the Clasico,” Valverde said afterwards. “It doesn’t seem to me that difficult.”
The only blot on the result though 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 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.
For more news your way, download The Citizen’s app for iOS and Android.
Download our app and read this and other great stories on the move. Available for Android and iOS.