A doubt for the game, Karim Benzema was able to start and hit the opener with a fine volley before being withdrawn at the break.
It was the 17th goal of his career against Atletico and 13th of the season to lead the LaLiga scoring charts.
Brazilian winger Vinicius Jr did not score but was man of the match after earning both assists. His second came early in the second-half, this time for Marco Asensio as Real extended their unbeaten streak against their local rivals to 11 LaLiga games.
Asensio told Movistar after the whistle: “It’s a derby, so it’s special.
“We’ve played a great game and we’re happy. We are in a moment when we are very solid, we are confident, we work very well as a team, and that is important to winning the league title.”
Carlo Ancelotti’s team are cruising at the top of the table, eight points clear of second-placed Sevilla and 13 above Atletico in fourth, albeit having played a game more than both.
Additional reporting by Reuters.