El líder Barcelona sufrió solo su tercera derrota de La Liga de la temporada cuando el Rayo Vallecano aseguró una victoria memorable.
Los goles de Álvaro García y Fran García pusieron a los anfitriones de la mitad de la tabla en una posición dominante antes de que Robert Lewandowski anotara el último gol de consolación.
El Barça sigue en camino de ganar su primer título de La Liga desde 2018-19, con 11 puntos de ventaja sobre su rival más cercano, el Real Madrid, a falta de ocho partidos.
Reciben al Real Betis, quinto clasificado, el sábado (inicio a las 20:00 BST).
García adelantó a Vallecano después de disparar a través de Marc-Andre ter Stegen antes de que García duplicara la ventaja.
Lewandowski recortó distancias después de que un tiro de Franck Kessie fuera bloqueado, su gol número 18 de la temporada en La Liga.
Fue la primera derrota del Barcelona en La Liga desde el 26 de febrero, mientras que solo ha ganado uno de sus últimos cuatro partidos de liga.