Real move one point ahead of Atletico in the table, with leaders Barcelona still possessing a five-point advantage with a game in hand.
Griezmann set the tone for a lively opening 45 minutes with a shot from inside the area which cleared the crossbar, while Thomas Partey also failed to hit the target when presented with a chance on the edge of the box.
However, it was Real who went in front. A second corner in quick succession led to the ball being headed into the air by Ramos, and Casemiro reacted quickest to send an overhead kick into the net from eight yards out.
The visitors went searching for a second with Lucas Vazquez sending the ball over the bar at the back post after meeting Vinicius Junior's cross, but Atletico were soon back on level terms with the assistance of VAR
Angel Correa played the ball through to Griezmann and the Frenchman coolly slotted his finish past Thibaut Courtois, although the goal had been initially ruled offside until the use of video technology.
Chances were few and far between after the equaliser - despite both teams not giving an inch in any area of the pitch - but Real were gifted the opportunity to regain the lead three minutes before the break.
Atletico had the better of the exchanges after the restart, and Griezmann sent an effort off target from 20 yards after being set up by Alvaro Morata.
The Chelsea loanee thought that he had got his team back on level terms shortly afterwards after superbly controlling the ball and lobbing Courtois, but VAR ruled that the frontman was offside.
A number of yellow cards in quick succession disrupted the flow of the game, but Atletico again went close as Courtois somehow prevented Gimenez from finding the back of the net with a volley from close range.
Real were content to play on the break but that approach eventually paid off as Bale - introduced as a second-half substitute - latched onto a pass from Modric before finding the bottom corner after advancing into the area.
Atletico's afternoon went from bad to worse as Partey was shown a second yellow for a foul on Toni Kroos, and the home side were handed six cautions in total during the match.
Bale wasted a late chance to add a fourth during the closing stages, but Real will be more than satisfied with a strong performance and even better result over their rivals.
ATLETICO MADRID (4-3-3): Oblak; Arias, Gimenez, Godin, Hernandez; Correa (Rodri 65'), Saul, Partey; Lemar (Vitolo 59'), Morata (Kalinic 71'), Griezmann
REAL MADRID (4-3-3): Courtois; Carvajal, Varane, Ramos, Reguilon; Modric, Casemiro, Kroos (Ceballos 84'); Vazquez, Benzema (Mariano 89'), Vinicius Junior (Bale 57')