Espanyol pulled off a stunning victory over Real Madrid, who missed an opportunity to move four points clear at the top of La Liga.
After soaking up huge amounts of pressure, the home side caught Carlo Ancelotti’s side on the counter-attack and Carlos Romero slotted beyond Thibaut Courtois at the back post in the 85th minute.
Real thought they had taken the lead in the first half when Vinicius Jr curled beautifully into the far corner, but Kylian Mbappe was deemed to have committed a foul in the build-up.
Rodrygo came closest to breaking the deadlock for Real in the second half when he jinked inside before prodding an effort off the post, before home keeper Joan Garcia dived on the ball.
Minutes later, Garcia made his seventh and best save when he tipped Mbappe’s effort wide as it arrowed towards the far corner.
The Real bench were also incensed when Romero only received a yellow card for a calf-high challenge on the back of Mbappe, with the Spanish defender scoring the winner 24 minutes later to move his side out of the bottom three.
Real, who face Manchester City in the Champions League play-offs on 11 February, had a concern too on the fitness of Antonio Rudiger after the German defender was replaced with a suspected hamstring injury in the first half.
Ancelotti’s side pushed for an equaliser in the final moments as goalkeeper Courtois came up for a corner, but Espanyol held firm to hand Real their third defeat of the season and end a four-game winning streak.
Second-placed Atletico Madrid enjoyed a 2-0 home win over Mallorca to move within a point of Real, who they visit next Saturday in the Madrid derby.