Italian Fausto Rossi scored the only goal of the game as he slammed home from close range after 17 minutes.
Valladolid goalkeeper Diego Marino was forced into four saves by Lionel Messi, but it was Neymar who had the best chance to level when he ballooned over just before the hour mark.
However, the Catalans couldn’t find a way through and could fall four points behind La Liga leaders Real Madrid should Los Blancos beat Levante at home on Sunday.
Victory for Valladolid also has significant consequences at the other end of the table as La Pucela move 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 on Wednesday.”
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 Messi had forced 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.
Neymar then had a great chance to equalise when he blasted over from close range after being brilliantly played in by Fabregas.
That pass was to be the former Arsenal captain’s last significant involvement as he was replaced by Alexis Sanchez with just under half an hour remaining.
Gerard Pique and Neymar were also withdrawn as Martino made a desperate last attempt to influence the game by introducing Sergi Roberto and Cristian Tello.
Messi had another free-kick comfortably held by Martino eight minutes from time.
And the result could have been even worse for Barca had Oscar not wastefully spooned over Valdet Rama’s cut-back moments later.