A slightly rotated Barcelona team started poorly against Celta Vigo, with Jorgen Larsen scoring the opener for the visitors on the 19th minute.
Barcelona entered half-time losing 1-0, after a poor first half display.
Xavi made two half-time changes, as Ronald Araujo and Lamine Yamal coming on for Oriol Romeu and Marcos Alonso respectively.
Xavi would later bring on Alejandro Balde and Raphinha for Andreas Christensen and Ferran Torres respectively.
Time seemed to be running out for Barcelona, and things went from bad to worse when Celta Vigo doubled their lead with 14 minutes left.
Barcelona then upped the tempo, with Robert Lewandowski scoring two goals in four minutes – 81st and 84th to level the scores.
Summer signing Joao Cancelo scored just before the 90 minute mark to give Barcelona an incredible comeback victory.
Barcelona are top of the league pending Real Madrid’s game against Atletico Madrid on Sunday.