But Antoine Griezmann equalised for Atletico few minutes later after Ronaldo’s opener to secure a share of the points for his side. It was the Frenchman’s third Madrid derby goal in a row at the Santiago Bernabeu.
Madrid have now failed to beat Atletico in their last five league games at the Bernabeu (two draws, three defeats).
Atletico remain second on 68 points, four ahead of Madrid who occupy the third spot with seven games left to play in the league.
After a rather cagey affair early on, it was Madrid who went very close through Marco Asensio but he was denied from close range by Atletico goalkeeper Jan Oblak.
It was Madrid who eventually went 1-0 up thanks to star man Ronaldo who struck in the 53rd minute.
In the 58th minute Atletico were back on level terms through Griezmann.
Niguez almost gave Atletico the lead in the 71st minute only to see his strike go just wide of the target.
In the 90th minute Madrid were awarded a free-kick on the edge of the box but Oblak tipped Sergio Ramos effort over the bar for a corner.