With less than nine minutes to the end of the normal regulation time, Germany global, Toni Kroos competed six goal rout to put Los Blancos three points behind city rivals, Atletico with one game to wrap this season up. His first was a low shot that went in off the post.
Cristiano Ronaldo was out again with injury, although he is expected to recover in time for the Champions League final, and captain Sergio Ramos was rested.
Some comical Madrid defending briefly looked to have brought Celta level but Daniel Wass was in an offside position when he cut back for Maxi Gomez to finish, although Casemiro was fortunate not to be punished for bundling Brais Mendez to the floor before the ball fell to Wass. Isco picked up the ball deep inside his half and played a raking ball for Bale, who cut inside Jonathan Castro and unleashed a left-footed curler into the top-left corner of the goal.
It was swiftly three by the 32nd minute, Isco unfurling a glorious strike to equal Bale's moments earlier that arced over a helpless Sergio Alvarez into the top right corner.
The Celta goalkeeper kept out a header before the hour to deny Bale his hat-trick and the officials erred in disallowing Benzema's follow-up for offside.
Isco, Achraf Hakimi and Toni Kroos were also on the scoresheet, while Sergi Gomez put through his own net as Real took the race for second spot into the final set of LaLiga fixtures.
Modric hit a post for the home side six minutes from time, and despite a host of late pressure, Celta managed to escape without any further damage in the final moments. Bale nearly got his hat-trick but his effort was saved by the Celta Vigo goalkeeper, Zidane substituted Karim Benzema for Borja Mayoral in the 64th minute and Isco was removed for Marco Asensio and in the 72nd minute Bale was substituted for Lucas Vazquez. The game ended 6-0 in favour of Real Madrid at the Santiago Bernabeu.