The Brazilian midfielder had missed two great headed chances before he finally converted, nodding the ball past keeper Jordi Masip in the 65th minute.
Team-mate Mariano Diaz twice had the ball in the net but was ruled offside.
Real keeper Thibaut Courtois pulled off great saves to deny Fabian Orellana and Saidy Janko.
It was not a memorable display by Zinedine Zidane’s depleted squad, but three of his remaining dependable senior players came to the fore when it counted.
Belgian Courtois was superb on the few occasions he was called upon, twice saving from Orellana and also making a great stop to prevent ex-Manchester United player Janko finding the net.
Deliveries from set-pieces were either well defended by Valladolid or wasted by Real’s players, with Casemiro most guilty. The 28-year-old had two opportunities to give Real the lead until he made it count midway through the half from Toni Kroos’ brilliant ball.
With striker Karim Benzema recently added to an injury list which includes captain Sergio Ramos, Eden Hazard, Marcelo and Dani Carvajal, Zidane will need each of his remaining fit senior players to produce better performances when they face Atalanta in the Champions League on Wednesday.