Ernesto Valverde's side had gone into the game looking for an eighth win in a row in all competitions but were rocked by three goals in seven second-half minutes.
Barcelona took the lead seven minutes before half-time when Lionel Messi fired in from the penalty spot but he later had a second effort chalked off for offside.
The Argentinian could have doubled his side's lead just before half-time but failed to get the telling touch during a goalmouth scramble.
Jose Campana levelled things up just after the hour with a composed finish and then Borja Mayoral put the home side ahead two minutes later.
A third goal for Levante killed the game off as Nemanja Radoja fired in a deflected volley with 22 minutes remaining.
Campana had an early chance for the home side but was denied by an excellent challenge from centre-back Clement Lenglet, at the expense of a corner. Barcelona's response saw Antoine Griezmann shoot into the side netting after being set up by an accurate pass by Nelson Semedo after 22 minutes.
A minute later the Frenchman saw his dangerous cross turned behind for a corner.
Griezmann was involved in all of Barcelona's best moves and just after the half hour he latched onto a pass from Messi but his shot was blocked out by goalkeeper Aitor, who got his foot in the way of the ball.
Jorge Miramon gifted Barcelona the chance to take the lead with his foul on Semedo after 36 minutes and Messi converted from the spot, extending his scoring streak to five games in a row.
Barcelona lost Luis Suarez when the forward had to be taken off with a right calf injury with half-time approaching.
Just before the break Messi was presented with the chance of a second goal when Aitor let the ball slip under him but the Argentinian was beaten to the ball by Miramon, who cleared off the line.
With a little over an hour on the clock the home side drew level through Campana who netted with a composed finish.
Levante grabbed the lead with 25 minutes to go when Mayoral scored with a fine finish from outside the area.
Radoja made it 3-1 after 68 minutes when his volley was deflected past Marc-Andre Ter Stegen in the Barcelona goal.
Messi saw a second goal ruled out by VAR after Griezmann was shown to be offside in the build-up with 15 minutes remaining.