Barcelona slipped up for the third time in a week but stay top of La Liga after Real Madrid and Atletico Madrid cancelled each other out at the Santiago Bernabeu on Saturday. Real and Atletico began a pulsating derby less than three hours after Barca had scrambled to a 1-1 draw at home to Athletic Bilbao, but goalkeepers reigned supreme in the capital to ensure the grudge match finished goalless.
It means Real second, level on points with Barcelona, while Atletico are just two behind in fourth. Sevilla are third.
Gareth Bale had to be substituted at half-time with what the club confirmed was a thigh strain and is a doubt for the European champions ahead of their visit to CSKA Moscow on Tuesday. Bale will be assessed on Sunday.
It was a scenario Barcelona boss Ernesto Valverde tried to avoid before his side's visit to Tottenham on Wednesday by resting Lionel Messi at the Camp Nou.
But the Argentine was needed in the second half after Oscar de Marcos gave Bilbao a deserved lead. Munir El Haddadi snatched Barca a point, diverting in Messi's shot with six minutes left.
After drawing at home to Girona and being beaten by Leganes, Barcelona head to Wembley to face Spurs short of rhythm and lacking confidence.
Barcelona will be without Sergi Roberto for the Champions League Group B clash after it was confirmed he had picked up a thigh strain.
The last time Bilbao took a point at the Camp Nou in 2004, Valverde was sitting in the away team's dugout during his first spell as Bilbao coach.
He faced questions after his bold decision to rest Messi with Tottenham in mind, along with Sergio Busquets.
"Leaving Messi on the bench is absolutely my responsibility," Valverde said. "He has four games in 10 days and I think it's good for Leo to rest, like Busquets, thinking of the Champions League.
"I know it was the right decision. It was a risk and on this occasion, it didn't come off."
Lack of rotation was chief among the criticisms levelled at Valverde after Barcelona crashed out of the Champions League quarter-finals last season, with Luis Suarez admitting he regretted playing 90 minutes three days before the collapse against Roma.
Valverde has certainly acted. Of the preferred 11 that started a 4-0 win over PSV Eindhoven two weeks ago, eight started at least one of the three games since on the bench. Seven of those were required to come on as substitutes.
"We can't expect Messi just to come on and fix things," Suarez said. "We should have won the game before he came on, that's why we are Barca."
Real and Atletico face midweek Champions League matches away to CSKA Moscow and home to Club Brugge respectively, but there was no letting up on their part.
Thibaut Courtois came back to haunt his former club and Jan Oblak showed why he is considered arguably the finest goalkeeper in the world.
Courtois spent three seasons at Atletico on loan from Chelsea but this was his first Madrid derby for Real. He made the most of it, saving when both Antoine Griezmann and Diego Costa had only the Belgian to beat.
Bale could have won it for Real too but he sidefooted wide from close range towards the end of the first half and then had to be replaced.
Barca might feel spared but Real and Atletico seemed satisfied at the final whistle. Atleti maintained their resurgence after a miserable start to the season while Real steadied the ship following their hammering at Sevilla on Wednesday.
"We have not won because we didn't score but overall we have been very superior," Real Madrid boss Julen Lopetegui said.
"The match was intense," added Atletico manager Diego Simeone. "We had chances through Griezmann and Costa but they were saved by Courtois. It's a pity because we wanted to win but we leave with a good result."