Leaders Barcelona suffered only their third La Liga defeat of the season as Rayo Vallecano secured a memorable win.
Goals by Alvaro Garcia and Fran Garcia put the mid-table hosts in a commanding position before Robert Lewandowski scored a late consolation.
Barca remain on course to win a first La Liga title since 2018-19, 11 points clear of nearest rivals Real Madrid with eight matches left.
They host fifth-placed Real Betis on Saturday (kick-off 20:00 BST).
Garcia put Vallecano ahead after firing across Marc-Andre ter Stegen before Garcia doubled the lead.
Lewandowski pulled one back after Franck Kessie’s shot was blocked, his 18th La Liga goal of the season.
It was Barcelona’s first defeat in La Liga since 26 February, while they have won just one of their past four league games.
Line-ups
Rayo Vallecano
Formation 4-4-2
- 1DimitrievskiBooked at 90mins
- 20Balliu
- 19Lejeune
- 5Catena
- 3García Torres
- 7Palazón Camacho
- 17LópezSubstituted forChavarría Pérezat 80′minutes
- 23ValentínSubstituted forMuminat 89′minutes
- 18García RiveraSubstituted forSánchez Ponceat 80′minutes
- 34CamelloSubstituted forde Tomásat 89′minutes
- 8TrejoSubstituted forCissat 63′minutes
Substitutes
- 2Hernández
- 4Suárez
- 12Martín
- 13López
- 14Sánchez Ponce
- 15Chavarría Pérez
- 16Mumin
- 21Ciss
- 22Pozo
- 24Saveljich
- 25de Tomás
- 30Morro
Barcelona
Formation 4-3-3
- 1ter Stegen
- 23Koundé
- 4Araújo
- 17AlonsoSubstituted forAlbaat 57′minutesBooked at 34mins
- 28BaldeBooked at 32mins
- 8PedriSubstituted forKessiéat 68′minutes
- 21F de JongSubstituted forGarcíaat 79′minutes
- 30GaviBooked at 36minsSubstituted forTorreat 79′minutes
- 22RaphinhaBooked at 61mins
- 9Lewandowski
- 11F TorresSubstituted forAnsu Fatiat 57′minutes
Substitutes
- 10Ansu Fati
- 13Peña Sotorres
- 18Alba
- 19Kessié
- 24García
- 29Casadó
- 32Torre
- 35Riad
- 36Tenas
- 41Yamal
- Referee:
- Jesús Gil Manzano
- Attendance:
- 13,657
Live Text
-
Match ends, Rayo Vallecano 2, Barcelona 1.
-
Second Half ends, Rayo Vallecano 2, Barcelona 1.
-
Offside, Rayo Vallecano. Pep Chavarría tries a through ball, but Raúl de Tomás is caught offside.
-
Foul by Raphinha (Barcelona).
-
Pathé Ciss (Rayo Vallecano) wins a free kick on the left wing.
-
Foul by Raphinha (Barcelona).
-
Raúl de Tomás (Rayo Vallecano) wins a free kick in the defensive half.
-
Stole Dimitrievski (Rayo Vallecano) is shown the yellow card.
-
Offside, Barcelona. Robert Lewandowski tries a through ball, but Raphinha is caught offside.
-
Attempt blocked. Jules Koundé (Barcelona) header from the centre of the box is blocked. Assisted by Jordi Alba with a cross.
-
Alejandro Balde (Barcelona) wins a free kick on the right wing.
-
Foul by Pep Chavarría (Rayo Vallecano).
-
Substitution, Rayo Vallecano. Raúl de Tomás replaces Sergio Camello.
-
Substitution, Rayo Vallecano. Abdul Mumin replaces Óscar Valentín.
-
Foul by Franck Kessié (Barcelona).
-
Salvi Sánchez (Rayo Vallecano) wins a free kick on the right wing.
-
Attempt missed. Florian Lejeune (Rayo Vallecano) right footed shot from more than 35 yards misses to the right.
-
Attempt saved. Robert Lewandowski (Barcelona) left footed shot from outside the box is saved in the centre of the goal.
-
Goal! Rayo Vallecano 2, Barcelona 1. Robert Lewandowski (Barcelona) left footed shot from the centre of the box to the high centre of the goal.
-
Attempt blocked. Franck Kessié (Barcelona) left footed shot from outside the box is blocked. Assisted by Pablo Torre.