Ernesto Valverde opted to rest a couple of players with one eye on Tuesday’s Champions League clash in Lyon.
Luis Suarez, Ivan Rakitic and Clement Lenglet were all given a breather and left on the bench with Thomas Vermaelen, Carles Alena and Kevin-Prince Boateng all starting.
The first half was a pretty dull affair with both teams struggling to create chances and guilty of losing possession frequently.
Ousmane Dembele showed glimpses of his quality, but the hosts found it difficult to break down Valladolid and work goalkeeper Jordi Masip.
The game finally sparked into life just before half-time when Gerard Pique found himself in the penalty area and went down under pressure from Michel.
Up stepped Lionel Messi and he made no mistake from the spot to put Barcelona 1-0 up going into half-time.
Messi ought to have had a second right at the start of the second half but was denied by a brilliant flying save from Masip.
Boateng could also have doubled Barca’s lead after being played through. He tried to go around Masip, but the goalkeeper stayed on his feet and did a good job to deny him.
Valverde sent on Luis Suarez for Boateng on the hour and the Uruguayan should also have scored within minutes of his arrival.
He was played through on goal and just had Masip to beat, but the goalkeeper was out quickly to block.
Messi set up Suarez again shortly afterwards, but again the striker made a real mess of the finish as Barca toiled in front of goal.
The best chance of all to finish it off came late on when Barca won a second penalty after Philippe Coutinho was fouled. Again Messi opted to take the kick but this time Masip came out on top.
Barcelona: Ter Stegen; Roberto, Piqué, Vermaelen, Alba; Aleñá (Rakitic), Busquets, Vidal; Messi, Boateng (Suarez), Dembélé (Coutinho).
Goal: Messi (43’)
Real Valladolid: Masip; Olivas, Fernández, Calero; Antoñito, Tuhami, Míchel, Nacho; Verde (Toni Villa) (Plaza); Ünal (Keko), Guardiola