Barcelona let in three goals in seven minutes as Levante overturned Lionel Messi’s penalty to hand the champions their first defeat in eight games.
Jorge Miramon fouled Nelson Semedo in the area and Messi slammed home from the spot to hand Barcelona the lead shortly before half-time.
Antoine Griezmann had missed the only real chance before that, denied by Aitor Fernandez after being slipped in by Leo Messi.
Luis Suarez was taken off with a calf injury and Carles Perez replaced him, surprisingly brought on ahead of Ansu Fati - while Ernesto Valverde had left Ousmane Dembele at home.
Jose Campana struck for Levante in the 61st minute, with Borja Mayoral and Nemanja Radoja netting after that as Barca were left rocking.
Messi struck again after forcing his way through on goal but VAR revealed Griezmann was offside in the build up and Barca fell to defeat.