Karim Benzema's precise strike with eight minutes to play looked enough to earn Zinedine Zidane's side a second win from two LaLiga matches in 2019-20, only for Sergi Guardiola to level late on.
Madrid started their first home game of the season with none of their new signings in the first XI, as Zidane put faith in Gareth Bale, James Rodriguez and Isco despite weeks of speculation over their futures.
It was Bale who looked likeliest to break the deadlock in the first half, prodding a first-time effort just wide of the left-hand post and sending a header over the crossbar.
James also twice came close with a good strike and a header, but Valladolid goalkeeper Jordi Masip was left relatively untroubled despite Madrid's dominance.
Luka Jovic was sent on from the bench for his home debut and struck the crossbar with a header from Bale's cross - his first touch of the game.
Waldo Rubio was denied by Thibaut Courtois while Guardiola just failed to turn in a cross on the break, and Benzema's sharp turn and finish from 18 yards out - his 150th LaLiga goal - looked to have punished those misses.
That was until the 88th minute, when Guardiola raced into space behind Raphael Varane and prodded the ball through the legs of Courtois.
150 - Karim Benzema is the first Frenchman to reach 150+ goals in LaLiga history and the seventh player to achieve this milestone for Real Madrid in the competition. Delicatessen. pic.twitter.com/6RjYYuNCGg— OptaJose (@OptaJose) August 24, 2019
What does it mean? Madrid need Hazard fit - and soon
For all their dominance, Madrid found it very difficult to pick their way through the Valladolid lines and only managed four shots on target throughout, including Benzema's superb strike.
It was the kind of game where Eden Hazard's dribbling was needed to unlock the defence. Zidane will hope he is fit again quickly.
100% - Toni Kroos completed all of his 53 passes against Real Valladolid and created the most chances of any player in the first half (4). Engine. pic.twitter.com/MuUNqHWHlj— OptaJose (@OptaJose) August 24, 2019
Kroos class not enough
Toni Kroos completed all 53 of his first-half passes and created a game-high five chances, but his meticulous use of the ball was not matched by those around him.
With Hazard unavailable, Zidane brought on Vinicius Junior to try to unbalance the Valladolid defence, but the Brazil winger offered little end product to some determined runs.
Key Opta Stats:
- Valladolid have avoided the defeat in a LaLiga game at Santiago Bernabeu for the first time since September 2001 (2-2).
- Guardiola is the first Valladolid player to score in three consecutive LaLiga games (three goals) since Javi Guerra in October 2013 (three).
- Madrid attempted 22 shots against Valladolid – only Villarreal (23) against Levante have had more in a LaLiga game this season.
- Varane has assisted Benzema in LaLiga for the second time, the first one since May 2017 against Malaga.
- James made his first start for Real Madrid in all competitions in 833 days, last starting on May 14, 2017 against Sevilla in LaLiga.
Madrid head to Villarreal next Sunday, the day after Valladolid travel to Levante.