It means Barca will be relieved to stay at the summit – ahead of Atletico by a point with a game in hand and in front of Real on goal difference – even if their collapse against Levante should offer encouragement to their title rivals.
Meanwhile, Granada will overtake them all if they beat Real Sociedad on Sunday.
“Everything unravelled,” said Barcelona coach Ernesto Valverde. “We didn’t start the second half well, we weren’t creating chances and although they weren’t either they suddenly scored two goals. The third one hurt us a lot.”
Jose Campana and Borja Mayoral scored in the 61st and 63rd minutes before Nemanja Radoja added a third in the 68th to leave their disheveled opponents with too much to do.
After seven wins on the bounce in all competitions, Barca arrived in Valencia as overwhelming favourites, particularly given the irresistible form of Messi, whose goal was the 500th of his career with his left foot.
“Opponents always play us like it is one of the biggest games of the year,” Valverde added. “You have to have an answer.”
After any Barcelona defeat, Valverde’s future is a topic for discussion. Asked if he was surprised by his players or might consider resignation, he said: “No, to both questions.”
To make matters worse, Luis Suarez was forced off in the 41st minute with an injury to his right calf and would now appear to be a doubt for Tuesday’s Champions League game at home to Slavia Prague.
An unfortunate half for Suarez had seen him booked for a foul committed by Arthur Melo but referee Hernandez Hernandez corrected his error after being made aware by VAR.
Messi swept home his penalty after Jorge Miramon brought down Nelson Semedo and Messi might have made it two, but this time Miramon restored some credit by clearing off the line.