Barcelona suffered their biggest La Liga defeat under Luis Enrique as Celta Vigo ended the champions' 100% record in the league this season.
Former Liverpool forward Iago Aspas scored twice after Nolito opened the scoring against his former club.
Neymar pulled one back for Barca with 10 minutes remaining, before ex-Manchester City and Stoke striker John Guidetti netted a fourth for the hosts.
Barcelona had lost only one of their previous 25 matches in La Liga.
Victory took Celta briefly top of the table, but Real Madrid replace them after beating Athletic Bilbao later on Wednesday.
Barca boss Luis Enrique, said: "What decided this game is how well Celta played. It was highly effective football from them. It was very good.
"We tried to create problems, but we suffered a lot in one-on-one situations. When a team has played better than you, then there is nothing much that you can say.
"I'd rather lose to a team that plays like Celta did today, without any tricks, purely winning through their football. I congratulate them and hope they can carry on playing like that."
It was the third time Barca have conceded four goals in just nine games this season having been thrashed 4-0 by Athletic Bilbao in the Spanish Super Cup and beaten Sevilla 5-4 in the Uefa Super Cup.
Written by: bbc sport -Dailymotion
Date: 07:11 24 Sep, 2015