La Liga leaders Barcelona conceded three goals in seven second-half minutes as Levante came from behind to defeat Ernesto Valverde’s champions.
Lionel Messi had put the visitors ahead with a 38th-minute penalty following Jorge Miramon’s foul on Nelson Semedo.
Jose Campana levelled for Levante after 60 minutes, before Borja Mayoral completed the turnaround two minutes later and Nemanja Radoja added a third.
The video assistant referee then denied Messi as his side failed to respond.
The Argentine appeared to have scored an excellent solo goal after a determined run, but Antoine Griezmann had strayed offside in the build-up.
Defeat for Barcelona, their third in 11 league games this season, means Real Madrid could claim top spot in La Liga when they host Real Betis later (20:00 GMT).