Gareth Bale went some way to silencing his critics with a 25th-minute opener after rounding the keeper before Ronaldo took centre stage and propelled Real to a 4-0 half-time lead with strikes in the 30th, 36th and 38th minutes.
A second-half flurry of three goals in four minutes then saw Karim Benzema add Real’s fifth in the 52nd minute before Ronaldo headed in his fourth of the match soon after. Benzema then slotted his second and the host’s seventh in the 56th minute.
Robert Ibanez pulled one back for Granada in the 74th but it proved to be only a small consolation for the visitors, especially as a calamitous own goal by Diego Mainz leaked an eighth at the other end before the irrepressible Ronaldo claimed his fifth in the 90th minute.
The result saw Carlo Ancelotti’s side close the gap on league leaders Barcelona to a point ahead of their evening kick-off at Celta Vigo, while Granada remained entrenched in the bottom three, three points from safety.
The writing seemed to be on the wall for Granada from early in the match as Real squandered a series of chances before Bale conjured up the opener and his 17th goal of the season.
The Wales international outmuscled a defender on the edge of the box before beating the keeper to slot the ball into the empty net.
James Rodriguez then set up Ronaldo for his first, the Portugal star beating Granada goalkeeper Oier Olazabal with a low shot, before he added his second six minutes later when he slammed Olazabal’s parry into the net.
Two minutes later and Ronaldo had his third – the best of the lot – when his powerful 20-yard strike was too much for Olazabal to repel, instead finding the top corner of the Granada net.
It meant Real had equalled the 4-0 mark they had defeated Granada by earlier in the season, but with only one half completed, it seemed certain that Ancelotti’s rampant side were not done.
It proved to be the case as Benzema added Real’s fifth with a simple shot at the back post from a corner before Ronaldo headed in the sixth from point-blank range following a Bale pass.
Real were relentless and Benzema fired in their seventh goal from a difficult angle into the bottom right corner.
Ibanez pulled one back for the visitors with 15 minutes remaining after two more Ronaldo misses, but his shot from the left of the area after a quick counter-attack was in no danger of changing the outcome of the match.
Mainz turned the ball into his own net in the 82nd minute with Ronaldo lurking before the world player of the year finished things off with his fifth in the last minute with a far-post header from Luka Modric’s free-kick.