Raphinha satte ledningsmålet tidigt och när Robert Lewandowski utökade till 2-0 i andra halvlek borta mot Celta Vigo såg Barcelona ut att ha säkrat sin tolfte seger i La Liga i höst.
Men den katalanska jätten föll ihop. Efter en sen utvisning.
I minut 82 fick Marc Casadó syna domarens röda kort. Det blev början på Celta Vigos upphämtning. Två minuter senare reducerade nämligen Alfonso González - och när matchuret hade tickat upp på 86 satte Hugo Álvarez dit 2-2-målet.
- Vilken matchutveckling! vrålade TV4:s kommentator Adam Pinthorp i sändningen.
2-2 blev även slutresultatet.
- Vi gjorde en väldigt dålig match generellt i dag, inte bara sista tio. Jag gillade inte prestationen som helhet, säger tränare Hansi Flick efteråt enligt Football Espana.
- Vi gjorde för många misstag och saknades säkerhet med bollen. Vi gjorde det enkelt för dem att ta en poäng.
Trots tappet toppar Barça fortsatt La Liga-tabellen fem poäng före Atlético Madrid. Real Madrid är trea sju poäng bakom, men har två matcher färre spelade än rivalen.
Värt att notera från matchen var att Gavi gjorde sin första start i Barça-tröjan på över ett år. Jättetalangen åkte ju som bekant på en korsbandsskada i fjol.
Carl Starfelt spelade 90 minuter för Celta Vigo. Williot Swedberg saknades på grund av sjukdom.
Startelvor:
Celta Vigo: Guaita - Rodriguez, Starfelt, Alonso, Mingueza - Alvarez, Beltrán, Moriba, Bamba - Aspas, Douvikas.
Barcelona: Peña - Koundé, Cubarsi, Martinez, Martin - Casado, Pedri - Raphinha, Gavi, Olmo - Lewandowski.