A defeat or draw could have given Atletico the chance to seal the championship this weekend after Barcelona dropped points on Tuesday, but two goals in each half earned Real a vital three points.
Luka Modric and Rodrygo made it 2-0 at the break and although Jorge Molina pulled one back for Granada, Alvaro Odriozola and Karim Benzema scored twice in quick succession to ensure Real cruised home to remain two points behind their city rivals with two games still to play.
Europa League finalists Villarreal moved up to sixth after a 2-0 victory at relegation-threatened Real Valladolid.
Gerard Moreno and Etienne Capoue struck after the break to help Unai Emery's men leapfrog Real Betis, who were held to a 1-1 draw at Eibar.
Eibar picked up a potentially vital point in their survival battle after Sergi Enrich cancelled out Andres Guardado's early opener with seven minutes left.
Jadon Sancho starred with a brace to help Borussia Dortmund thrash RB Leipzig and clinch victory in the DFB Pokal Cup Final.
The England international netted early and late in the first-half with Erling Haaland also claiming a double in a 4-1 win which gave the club its first silverware in four years.
It also denied Julian Naglesmann the chance to bid farewell to Leipzig, who hit a late consolation through Dani Olmo, with a trophy ahead of his summer move to Bayern Munich.
Crotone moved off the Serie A basement with a 2-1 triumph over mid-table Verona after goals from Adam Ounas and Junior Messias to lift spirits after their relegation was confirmed at the start of the month.