Italian Fausto Rossi scored the only goal of the game as he slammed home from close range after 17 minutes.
Atletico Madrid took advantage of Barca's slip up to move top of the table thanks to their better head-to-head record against Real Madrid as a double from David Villa handed them a 2-0 win over Celta Vigo at Balaidos.
However, Real can retake their place at the top and move four points clear of Barcelona with victory over Levante at home .
Victory for Valladolid had significant consequences at the other end of the table as La Pucela moved out of the relegation zone with just their fifth league win of the campaign.
"What we lacked today is normally what distinguishes the team; our circulation of the ball and our movement off the ball to find space. As a consequence of that we lacked penetration," Barca boss Gerardo Martino admitted.
"We lacked ideas, movement and penetration, but I didn't in any way see a lack of attitude."
Defeat means the Spanish champions will likely have to beat Real Madrid at the Santiago Bernabeu in two weeks time to have any chance of retaining the title.
And with his side's Champions League last 16, second leg with Manchester City just four days away, Martino admitted his side are a long way off their best form.
"It is clear that right now we are not in our best form and we need to be to be able to beat Real Madrid. There are still 15 days to go until that match for us to find ourselves.
Right now we have the Champions League to worry about.
"Today we didn't play well, just like we didn't play well in the game straight after the Manchester City game, in San Sebastian (a defeat to Real Sociedad). We will try to make sure it is the reverse ."
Despite the majority of his squad having been away on international duty in midweek, Martino named almost his strongest starting line-up with only Jordi Alba and Andres Iniesta missing out.
However, after Lionel Messi had forced goalkeeper Diego Marino into an early save at the end of a swift counter-attack, it was Valladolid who had the upper hand in the opening half hour.
Rossi opened the scoring with his first goal for Valladolid as he took advantage of a ricochet off two Barca defenders inside the area to fire past Victor Valdes.
Barca reacted as the first-half drew to a close and Marino had to be alive to deny Messi twice from range before Cesc Fabregas also tested the keeper with a drive from the edge of the box.
Marino made another good save just three minutes after the restart as the Argentine squeezed a shot towards goal with his weaker right foot from a narrow angle.
Barca's best opening dropped at the feet of Neymar as he was brilliantly played in by Fabregas, but he blasted over from close range.
Atletico, meanwhile, recovered from their own travel sickness as they put two consecutive away league defeats behind them in Vigo.
After a first-half short on clear-cut opportunities, Villa pounced on a defensive error from Jonathan Castro to fire low past Yoel Rodriguez just after the hour mark.
The Spanish international then made the game safe barely two minutes later with another composed finish from Jose Sosa's cut-back for his 15th goal of the season.