The previous Madrid derby saw Atletico run out 4-2 winners in the UEFA Super Cup last month, but there was no such goal rush this evening with keepers Thibaut Courtois and Jan Oblak on top in the stalemate as Atletico made it six successive visits without losing at the home of their biggest rivals.
The result lifts Real back level with Barcelona - who could only manage a 1-1 draw against Athletic Bilbao earlier in the day - while Atletico drop to fourth place and remain three points behind the top two.
Both sides were initially buoyed by the news of Barcelona's draw, but it was Atletico who made the brighter start and Courtois was called into action after only three minutes when he punched away Saul Niguez's powerful strike from range.
Antoine Griezmann then sent an acrobatic effort off target moments later, and the France international was guilty of missing the best chance of the first half in the 18th minute when he was sent clean through on goal, only to see his finish thwarted by a big Courtois save.
Real responded quickly with their own best chance of the half as Gareth Bale snuck in at the back post to meet a Toni Kroos free kick, flashing his cushioned volley across the face of goal and inches past the far post.
Such clear openings were at a premium for much of the opening 45 minutes, but there were fairly regular sights of goal and Saul sent another long-range shot narrowly wide midway through the first half.
It took a fine last-ditch block from Jose Gimenez to deny Karim Benzema shortly before the half-hour mark, and nine minutes later Diego Costa was denied a first goal of the season by Courtois having raced away from Raphael Varane.
Real ended the half on top and Bale forced one routine save from Oblak before the Atletico keeper almost gifted the hosts an opener when his pass struck Marco Asensio, only to bounce right back into his hands.
Julen Lopetegui's side also began the second half brighter despite being forced to take off Bale at the break, and they had a chance to open the scoring less than two minutes after the restart when the ball broke kindly for Casemiro, who blazed his effort well over from the edge of the box when he should have done better.
Real continued to look the most likely to score as the second half wore on, with Asensio drawing a routine stop from Oblak and Luka Modric failing to hit the target from range.
The big chance of the second half arrived in the 66th minute when Asensio latched on to a pass when unmarked inside the box, but once again Oblak was there to make a crucial save and thwart the Real midfielder.
The Atletico keeper was the busier of the two shot-stoppers in the second half and was called into action again with 13 minutes remaining as Modric teed up the fit-again Dani Carvajal, who forced Oblak into another save with his effort from a tight angle.
Kroos was the next to call upon Oblak, but the vast majority of his work was straightforward and the match petered out into a goalless draw in the end, leaving Barcelona still top of the table despite their poor recent form.
REAL MADRID (4-3-3): Courtois; Carvajal, Ramos, Varane, Nacho; Kroos, Casemiro, Modric (Vazquez 82'); Bale (Ceballos 46'), Benzema (Vinicius 88'), Asensio
ATLETICO MADRID (4-4-2): Oblak; Juanfran, Godin, Jimenez, Luis; Koke, Rodri (Kalinic 85'), Saul, Lemar (Correa 60'); Costa (Partey 69'), Griezmann