Newly-promoted Valladolid impressed on home soil, but a 57th-minute strike from Dembele saw the Spanish champions make it back-to-back victories at the start of the 2018-19 La Liga campaign.
Dembele had the game's first half-chance in the fifth minute after breaking into the Valladolid box, but the Frenchman could only fire over the crossbar from a narrow angle.
Valladolid did not see much of the ball in the early stages, but they did test Barcelona goalkeeper Marc-Andre ter Stegen in the seventh minute, with Enes Unal - on his debut - bringing a smart save from the German.
Dembele had another half-chance in the 22nd minute after working his way into a shooting position outside the Valladolid box, but the attacker's low effort was always wide of the post.
Masip made an even better save two minutes later to keep out a low Philippe Coutinho effort, and despite dominating the opening half of action in terms of possession and chances created, Barcelona went down the tunnel level at 0-0 with Valladolid.
Unal had the first half-chance of the second period after working space inside the Barcelona box, but the on-loan Villarreal forward saw his effort miss the far post.
Barcelona took the lead in the 57th minute, however, when Sergi Roberto headed down towards Dembele inside the Valladolid box, and the attacker found the back of the net with a low strike.
The two Valladolid substitutes combined in the 77th minute to produce an incredible chance to level the scores, but Keko could only head into the arms of Ter Stegen from close range.
Luis Suarez looked to have sent Barcelona two goals ahead in the 83rd minute when he converted from close range, but the offside flag came to Valladolid's rescue.
Malcom then tested the reactions of Masip in the 89th minute as Barcelona continued to search for a second.
Keko thought that he had levelled the scores in stoppage time when he converted from close range, but VAR showed that the attacker was offside as Valladolid were denied a point at the death.
REAL VALLADOLID (4-5-1): Masip; Moyano, Olivas, Calero, Nacho; Borja (Keko 64'), Alcaraz, Anuar, Toni (Verde 87'), Plano; Unal (Cop 70')
BARCELONA (4-3-3): Ter Stegen; Roberto, Umtiti, Pique, Alba; Busquets, Rakitic, Coutinho (Malcom 84'); Messi, L Suarez (Munir 91'), Dembele (Vidal 76')body check tags ::