Real drew first blood with an overhead kick from Casemiro after the Brazilian got on the end of Sergio Ramos' flick on 16 minutes.
Los Blancos were buoyed for a second and a good-looking ball from Vinicius Junior found Lucas Vazquez, who failed to keep the effort on target on 21 minutes.
Four minutes later, Atleti were level as Antoine Griezmann raced through goal to fire past Thibaut Courtois for an easy finish. The goal was initially ruled out by the man in the middle, but after consultation from VAR, the goal was given.
The visitors regained control three minutes to halftime with a penalty-kick from Ramos following a foul on Vinicius by Lucas Hernandez.
There were no changes at the break from either side, as Alvaro Morata scuffed a good chance for his first goal following his arrival last month.
On 61 minutes, Jose Gimenez seemed certain to find the elusive equaliser but Courtois pulled off an excellent one-handed save.
As the tempo dropped, Real threw the sucker punch as Luka Modric’s through ball landed kindly to Bale to finish from the left side of the area.
Atleti were reduced ten men after Thomas Partey received a second yellow following a studs-up challenge on Toni Kroos in the final ten minutes.
With a man advantage, Real utilised it to their advantage to see out the match.