Real Madrid ended Atletico Madrid's 26-game unbeaten run with a 2-0 win at the Alfredo Di Stefano Stadium to move within three points of the La Liga leaders.
Los Blancos carried on from their midweek Champions League success to produce an accomplished display and inflict a first league loss on Atletico since the start of February.
Casemiro headed Real in front after 15 minutes and Dani Carvajal's long-range effort bounced off a post and in off Atletico goalkeeper Jan Oblak in the second half to seal victory.
Real, who made sure of a place in the last 16 of the Champions League with victory over Borussia Monchengladbach on Wednesday night, started brightly as Karim Benzema's drive was pushed onto a post by Oblak.
The home side took the lead after 15 minutes when midfielder Casemiro powered in a header from Toni Kroos' corner.
Diego Simeone's men, though, were finding it difficult to sustain any long spells of possession as striker Luis Suarez cut a forlorn figure, starved of quality service.
The Argentinian made a triple change for the second half, sending on Renan Lodi, Angel Correa and Thomas Lemar - who soon collected a yellow card for clattering into Casemiro.
French midfielder Lemar went close to an equaliser in the 55th minute when he fired into the side-netting after Marcos Llorente had put in a low cross to the back post.
Real Madrid doubled their lead in the 63rd minute.
Kroos' floated free-kick was headed back out towards Carvajal. The defender collected the ball on his chest before firing a long-range effort against a post and in off Oblak as he dived for an own goal.
Atletico finally forced Real goalkeeper Thibaut Courtois into a save when substitute Saul Niguez got on the end of Lodi's cross, before Lemar fired over.
Lucas Vazquez almost added a late third for Real, but Oblak pushed the ball over.
Madrid striker Benzema was making his 528th appearance for the club, breaking Roberto Carlos' record for the most appearances by a non-Spanish player.