They lead city rivals Real, who ended a run of four successive draws by beating Real Betis 6-1 in Seville, on goal difference, while Barcelona sit two points further back after they were 4-0 winners at home to Deportivo La Coruna.
It started badly for Diego Simeone’s Atletico side as Isaac Cuenca gave rock-bottom Granada a shock lead with a smart 18th-minute volley.
Yannick Carrasco scored an equaliser in the 34th and the Belgian international struck twice more for the hosts after passes by Angel Correa and Antoine Griezmann to complete his first career treble.
‘I am very happy for him, it’s a daily struggle for him to be what he was in this game,’ Simeone said about the 23-year-old Carrasco. ‘He is a complete player, who has grown a lot, wants to keep growing and listens.’
Substitute Nicolas Gaitan netted two more goals before Correa and Tiago Cardoso completed the demolition of bottom-side Granada in the demoralising debut of coach Lucas Alcaraz.