Match ends, Celta de Vigo 4, Barcelona 3.
Barcelona blew the chance to go top of La Liga as they were stunned by a sparkling Celta Vigo at the Balaidos.
Iago Aspas inspired the hosts into a 3-0 lead at the break, setting up Pione Sisto's opener, scoring a fine second and forcing Jeremy Mathieu's own goal.
Barcelona fought back through Gerard Pique's header and Neymar's penalty, only for Marc-Andre ter Stegen's awful error to hand Celta their fourth goal.
Pique scored a second header late on but Celta held on for a thrilling win.
Without the injured Lionel Messi, Barcelona looked bereft of ideas at times as they failed to take the chance to go top following Real Madrid's earlier draw with Eibar, instead remaining in fourth.
The hosts appeared to start in survival mode as Barcelona dominated the opening ten minutes only for Celta to end the half threatening to utterly humiliate their opponents.
Former Liverpool striker Aspas was the catalyst, sliding in Sisto with a brilliant first-time ball after Celta pounced on Ter Stegen's poor attempted pass to Sergio Busquets, with the Danish forward providing an impressive low finish after his first touch took him wide.
Shortly after drawing a fine save from Ter Stegen, Aspas had Celta's second - controlling a long ball forward before powering away from the back-tracking Pique to calmly slot past the hapless Barcelona keeper on the angle.
Moments later Celta scored their third, Aspas causing panic by running in behind the Barcelona defence and forcing Mathieu to divert Daniel Wass' perfectly-weighted cross into his own net before Aspas could get there.
After the interval, the hosts were guilty of complacency, remaining static as Pique stole in to score before Pablo Hernandez conceded a penalty with a clumsy foul on Andre Gomes.
But Hernandez made amends in the 77th minute, charging down an indecisive Ter Stegen, whose attempt to loft the ball back to Jordi Alba hit Hernandez in the face and rebounded in for Celta's bizarre fourth.
No Messi, more problems
Despite having won both previous games this season where Messi was absent, Barcelona clearly missed their talisman as they failed to unpick Celta's defence for long periods.
Neymar took it on himself to play Messi's roaming role but often found himself running into traffic, while neither Arda Turan nor Rafinha could provide the attacking thrust lost by Neymar dropping deeper.
Instead it was Pique who offered his side's most consistent attacking threat, surging forward to head in a cross from substitute Andres Iniesta, making his 600th Barcelona appearance, before also turning in Denis Suarez's ball from the right.
And while Pique was guilty of backing off Aspas for Celta's second, Barcelona's miserable night was summed up by Ter Stegen - at fault for two goals, with his late error ultimately putting the draw beyond his team in a frantic finale.
- 2MalloBooked at 63mins
- 18WassSubstituted forCastro Ottoat 83'minutes
- 7Bongonda Mbul'Ofeko BatomboSubstituted forDíazat 63'minutes
- 10Iago AspasSubstituted forGuidettiat 88'minutes
- 19Castro Otto
- 23Señé Escudero
- 28Diop Gueye
- 1ter Stegen
- 20Roberto Carnicer
- 3PiquéBooked at 74mins
- 18AlbaSubstituted forAlcácerat 81'minutes
- 21André Gomes
- 5BusquetsBooked at 45minsSubstituted forD Suárezat 76'minutes
- 12RafinhaSubstituted forIniestaat 45'minutes
- 9SuárezBooked at 88mins
- 6D Suárez
- Iñaki Vicandi Garrido
- Shots on Target
Second Half ends, Celta de Vigo 4, Barcelona 3.
Foul by Arda Turan (Barcelona).
Facundo Roncaglia (Celta de Vigo) wins a free kick in the defensive half.
Attempt saved. Pablo Hernández (Celta de Vigo) left footed shot from outside the box is saved in the bottom left corner. Assisted by John Guidetti.
Foul by Jeremy Mathieu (Barcelona).
John Guidetti (Celta de Vigo) wins a free kick on the right wing.
Attempt missed. Gerard Piqué (Barcelona) header from the centre of the box is close, but misses to the left. Assisted by Denis Suárez with a cross.
Delay over. They are ready to continue.
Delay in match Sergio Álvarez (Celta de Vigo) because of an injury.
Attempt missed. Neymar (Barcelona) header from the centre of the box is close, but misses to the left. Assisted by Arda Turan with a cross.
Substitution, Celta de Vigo. John Guidetti replaces Iago Aspas.
Luis Suárez (Barcelona) is shown the yellow card.
Goal! Celta de Vigo 4, Barcelona 3. Gerard Piqué (Barcelona) header from very close range to the centre of the goal. Assisted by Denis Suárez with a cross.
Corner, Barcelona. Conceded by Sergi Gómez.
Substitution, Celta de Vigo. Jonny replaces Daniel Wass.
Foul by André Gomes (Barcelona).
Daniel Wass (Celta de Vigo) wins a free kick in the defensive half.
Substitution, Barcelona. Paco Alcácer replaces Jordi Alba.
Attempt blocked. Neymar (Barcelona) right footed shot from outside the box is blocked. Assisted by Denis Suárez.