Despite a first period full of opportunities, the score remained goalless at the interval.
Celta - who had to ride their luck - broke the deadlock early in the second period when Joaquin Larrivey found the bottom corner.
Barcelona hit the woodwork four times in addition to creating a number of strong opportunities, but they could not find the back of the net as Celta held on for a stunning victory.
Read how it all unfolded in Sports Mole's minute-by-minute live commentary of the action below.
BARCA: Bravo; Alves, Mascherano, Mathieu, Alba; Busquets, Rakitic, Rafinha; Neymar, Messi, Suarez
CELTA: Sergio; Mallo, Cabral, Gomez, Jonny; Radoja, Pablo; Krohn-Delhi, Orellana, Nolito; Larrivey