Real Madrid and Atletico each slipped 10 points behind La Liga leaders Barcelona after an intense Madrid derby finished goalless and the Catalans picked up an 11th victory in 12 games by winning 3-0 at Leganes.
Atletico forward Angel Correa wasted a glorious chance to open the scoring in the first derby at the Wanda Metropolitano stadium when he was through on goal in the third minute, while Toni Kroos missed Real's clearest opportunity.
Raphael Varane rescued Real by heading away Kevin Gameiro's chipped shot in the second half. At the other end, Atletico goalkeeper Jan Oblak made two late saves to thwart Cristiano Ronaldo and Kroos as Real finished stronger in the first league derby to finish 0-0 in more than 12 years.
Barca striker Luis Suarez snapped a goal drought spanning five games by scoring twice in his side's 3-0 win at Leganes, while substitute Paulinho poked in the third goal in stoppage time.
Barca lead the standings on 34 points from 12 games, seven clear of Valencia who visit Espanyol on Sunday, while Real are third on 24, level on points with Atletico in fourth. Sevilla are fifth after coming from behind to beat Celta Vigo 2-1 at home.
The intense rivalry between Real and Atletico could be felt throughout the game, with Correa booting a ball at Karim Benzema's face when the French striker was on the floor or when Stefan Savic cynically hauled down Kroos.
Towards the end of the first half Lucas Hernandez kicked Sergio Ramos in the face as the captain tried to land a diving header, an incident which could have led to a Real penalty and saw Ramos taken off with a fractured nose.
Atletico fans booed Antoine Griezmann off the pitch when he was substituted following a lifeless performance from the France striker, who has not scored for his club since September 27.
Real coach Zinedine Zidane said his side deserved more from the game, the fifth occasion in which they have dropped points this season.
"Sometimes the ball doesn't want to go in. I can't explain why," he told reporters.
"The good thing about tonight is we played well. Of course we're struggling to score, but we know we will. We need to stay positive, which we are. We need to keep on working because this is football and things change very quickly and I'm sure we'll be fighting for the title until the end."
Atletico coach Diego Simeone said: "We were playing against the best team in the world. We played as we wanted to, we could have lost this game but we also could have won it."
Earlier at Leganes, Barca striker Suarez reaped the benefits of two weeks rest after being left out of Uruguay's internationals and pounced from close range to give Barca the lead in the 28th minute, after Leganes goalkeeper Ivan Cuellar failed to hold a shot from Paco Alcacer.
Leganes offered Barca little space going forward and strikers Nordin Amrabat and Alexander Szymanowski both spurned chances to score before the break, the latter being denied by the left hand of an outstretched Marc-Andre ter Stegen.
"Perhaps the result implies we dominated the game more than we actually did," Barca coach Ernesto Valverde told reporters.
Suarez doubled Ernesto Valverde's side's lead on the hour by sliding to send another rebound beyond the hapless Cuellar while Brazilian Paulinho struck his fourth goal of the season.
There was one negative for Barca, however, as defender Gerard Pique picked up a fifth yellow card of the season and is suspended for next week's top-of-the-table clash at Valencia.