Jude Bellingham made it 20 goals for the season as he and Vinicius Junior teamed up to put Girona to the sword and send Real Madrid five points clear at the top of the LaLiga table.
The England midfielder scored twice with both set up by Vinicius, who had opened the scoring before Rodrygo wrapped up a 4-0 win with a fine run and finish. Substitute Joselu also missed a late penalty.
It was just surprise package Girona’s second defeat of the league campaign, with the first also coming at the hands of Carlo Ancelotti’s men, and it was every bit as comprehensive as the scoreline suggests.
With visiting head coach Michel banned from the touchline following his dismissal for leaving his technical area during last weekend’s draw with Real Sociedad, and opposite number Ancelotti forced to field a makeshift back four with injuries biting hard into his resources, there was an air of uncertainty around the Bernabeu Stadium as the game kicked off.
However, the fears of the locals were settled within six minutes when Vinicius picked up possession wide on the left, cut inside Ivan Martin and curled an unstoppable right-foot shot across keeper Paulo Gazzaniga and inside the far post.
With Toni Kroos dictating play, Madrid continued to look the more threatening and Girona skipper Juanpe was mightily relieved to concede a free-kick on the edge of the box rather than a penalty after he had rudely interrupted Eduardo Camavinga’s blistering 21st-minute run towards goal.
Federico Valverde curled the resulting set-piece straight into Gazzaniga’s arms, but there was little let-up in the home side’s efforts to build upon their encouraging start.
Bellingham dragged a 32nd-minute shot wide, but made amends within three minutes when he ran on to Vinicius’ superb ball behind Eric Garcia and rounded Gazzaniga to make it 2-0.
Vinicius scuffed wide after being played through as the whistle approached, but the sides headed for the dressing rooms with the hosts very much in the driving seat.
The visitors, who had offered little before the break, returned in determined mood and it took a last-ditch clearance by Ferland Mendy to cut out Miguel Gutierrez’s inviting cross as they finally started to make an impression going forward.
However, their hopes suffered a further blow within nine minutes when Vinicius cut in from the left and saw Gazzaniga parry his shot straight to Bellingham, who tapped into the empty net.
The Englishman’s evening ended prematurely with 57 minutes gone when, having earlier turned an ankle, he was replaced by Brahim Diaz.
His team did not feel his loss, however, and Rodrigo extended their lead within four minutes, accepting Vinicius’ pass before racing away to fire emphatically past Gazzaniga.
It should have been 5-0 at the death, but Joselu struck the post with a penalty awarded for Yan Couto’s foul on Arda Guler.