Vinicius Junior drove home the opener and then set up Bellingham for the second as Carlo Ancelotti’s side dominated the Catalan minnows, leaving the surprise title contenders reeling.
Bellingham tapped in the third after the break from close range but limped off with an ankle problem early in the second half.
Rodrygo kept the goals flowing with a fine individual effort as the record 35-time Spanish champions taught Girona, in the top flight for only the fourth year in their history, a compelling lesson.
Victory leaves Madrid 11 points clear of champions Barcelona, third, who host Granada on Sunday.
Madrid’s victory was convincing, with swagger at times but also sweat to keep the league’s top goalscoring side quiet, despite significant injury absences.
Carlo Ancelotti started with a makeshift central defensive pairing of Dani Carvajal and Aurelien Tchouameni, with all four of the club’s specialists in the position out.
Girona were without the suspended Daley Blind and Yangel Herrera, as well as coach Michel Sanchez, watching on helplessly from a high vantage point as his team were dismantled.
They started well against Madrid but conceded early in a thorough 3-0 home defeat earlier in the season and committed the same mistake again at the Santiago Bernabeu.
This time Vinicius broke the deadlock in only the sixth minute, cutting in from the left and bending a vicious strike beyond Paulo Gazzaniga and in at the far post.
Back in the team after missing the Madrid derby with a neck problem, Vinicius’ drive was his seventh league goal of a season disrupted by injury.
Eduardo Camavinga, skipping forward from midfield, was shoved over by Juanpe on the edge of the box as Madrid pushed for a second, with Gazzaniga saving Fede Valverde’s low free-kick.
Bellingham, who started the match level with Girona’s Artem Dovbyk on 14 goals as the league’s joint top scorer, doubled Madrid’s lead.
The England international rounded Gazzaniga and then stroked home from a tight angle after a superb Vinicius pass sent him hurtling in on goal.
It ended a run of just one goal in eight games for Bellingham, who had scored freely at the start of the season as he hit the ground running following his move from Borussia Dortmund.
– Bellingham brace –
Bellingham tapped in his 16th of the season in La Liga early in the second half after Gazzaniga could only tip Vinicius’ shot into his path.
It was his last contribution, Ancelotti quickly withdrawing him afterwards for an ankle injury which he iced.
Bellingham might have sustained it when challenged by Pablo Torre, or slipping on it and colliding with Eric Garcia, both in the first half.
Madrid face RB Leipzig in the Champions League on Tuesday and will hope he is fit, after Bellingham reached 20 goals in 29 games across all competitions.
However Los Blancos have plenty of other firepower if he needs to rest.
Rodrygo rattled in the fourth after darting into the area as Girona collapsed — and perhaps their unlikely title bid has too.
Brahim Diaz curled inches wide and Joselu hit the post with a penalty after Yan Couto fouled Arda Guler as Madrid dominated from start to finish.
AFP