Real went into the game looking to reclaim third place in La Liga, whilst minnows Girona knew that an unlikely victory would see them keep their European dream alive as well as record an improbable double over the Spanish champions.
Zinedine Zidane's side came flying out of the blocks and took the lead with just 11 minutes on the clock. The hosts took a corner quickly down the left and Toni Kroos had the vision to cross low for Ronaldo to sweep past Bono in the visiting goal to open the scoring.
However, Girona weren't without their chances and when Real failed to heed the warning when Portu headed wide they were made to pay.
Alex Granell swung in a free-kick from near the corner flag out on the left and former Middlesbrough man Cristhian Stuani was left unmarked to power home a header to level the game.
18 de marzo de 2018
With that the two sides went in level, but it was Real that would run away with it in an enthralling second period.
Ronaldo got his second of the game just two minutes after the restart, finishing off a fine move by firing past Bono via the underside of the bar.
The hosts were in complete control at this point and looked like they were going to run away with the game, quickly extending their lead courtesy of a cute side-footed finish from Lucas Vazquez, before Ronaldo turned home his third of the game to score his 50th career hat-trick and put daylight between the sides after Karim Benzema's effort was saved.
18 de marzo de 2018
That appeared to signal the end of the game as a contest, only for slack marking to allow Stuani to get up above Dani Carvajal at the far post and double his tally for the day with a scruffy header, reducing the arrears in the process.
A sloppy piece of defending almost allowed the Uruguayan in for a hat-trick with just 10 minutes to go but Keylor Navas did well to smother the striker.
You could of been forgiven for thinking the game was winding down at that point, but three goals in the final four minutes would suggest that was not the case.
First, Real made it 5-2 as substitutes Luka Modric and Gareth Bale combined, with the former feeding the latter to slot past Bono with his right foot.
Jut towo minutes later though Girona exploited Real's achilles heel once again as Juanpe rose unmarked to flick a corner from the right past Navas and into the far corner.
Finally, in added-on time, Ronaldo rounded off his night by scoring his fourth of the game, slotting home first time from just inside the box after being expertly found by Kroos.
The result sees Real Madrid leapfrog Valencia into third, whilst Girona remain in 7th, just two points off the European places.