After an opening day victory at home last week, Barca were eager to get the show on the road away from home as well.
Ousmane Dembele nearly sent them on their way after four minutes, but his shot went high and over the top.
Played on sketchy pitch, which made it difficult to control the ball, Real surged further forward as well and produced Marc Andre Ter Stegen to a save in the opening sequence.
Barca continued taking charge, and it took the efforts of Dembele to fire in another shot on goal but it still lacked the desired effect in finding the back of the net on 22 minutes.
Following a timid spell of play, the game sprung to life again after Phillipe Coutinho forced an outrageous save from Jordi Masip 10 minutes to halftime.
In the second half, the struggle for the Catalan giants continued as Valladolid refused to let up against their star-studded counterparts.
The Spanish champions eventually secured the breakthrough and it was Dembele, finishing off from an acute angle on 57 minutes.
Front-man Luis Suarez battled all night long, as his path to goal was continually blocked off by a strong Valladolid defence.
Valladolid’s best chance of the second period found Keko at the centre of a free-header from a cross, but the effort went straight into the hands of Ter Stegen in the closing quarter.
Ernesto Valverde made his first change on 76 minutes, bringing off the goal-scorer Dembele for summer signing Arturo Vidal.
Soon, the second change followed when another off-season purchase Malcom replaced compatriot Coutinho.
In the end, Valverde’s side stood firm amidst the scrappy performance all round to clinch their consecutive league victory, while Valladolid had a goal ruled out by the Video Assistant Referee (VAR).