The Welshman put Real in front with two quick-fire first-half goals soon after Daniel Wass' glorious chipped opener had seen the hosts go ahead.
Keylor Navas kept Real's narrow lead intact as he saved Iago Aspas' penalty 18 minutes from time, but he could do nothing to keep out Maxi Gomez's powerful headed equaliser nine minutes later.
Real are now 16 points behind La Liga leaders Barcelona with just one game in hand, and their hopes of back-to-back title victories have almost completely disappeared.
Both clubs provided their lineups ahead of kick-off:
It was a fairly even encounter for the opening half hour with Aspas going closest as he hit the post in the early stages.
Celta looked threatening on the break, and it was a rapid counter-attack that led to the hosts' opening goal in the 33rd minute.
Cristiano Ronaldo was robbed of the ball in the Celta half, and Aspas fed Wass beyond the defence. In plenty of space, the Dane took his time and delicately chipped a fine finish over the advancing Navas into the back of the net.
It was a deserved lead for the hosts, who had carved out the better chances in the opening stages.
But it did not last long as Bale equalised three minute later, finishing cooly into the left corner after receiving an inch-perfect ball beyond the defence by Toni Kroos.
Seven minutes before half-time the Welshman netted again to put Real ahead. This time Bale flicked home with the outside of his left foot from 10 yards after a delightful delivery from Isco in the right channel.
Real looked happy to sit back in the opening exchanges of the second half as they created little, but they did still look vulnerable on the counter-attack.
And a brilliantly worked break in the 71st minute eventually saw Navas haul Aspas down in desperation and concede a penalty.
The Costa Rican stopper was only issued a yellow card as Aspas was heading away from goal when the foul was committed, and Navas made up for his blunder by saving the spot-kick from the Spanish striker with a strong hand to his right.
But Navas was then let down by his defence as Gomez was allowed to rise unchallenged on the edge of the six-yard box to meet a clipped Wass ball from the right and thunder home the equaliser.
Ronaldo and Lucas Vazquez both wasted good opportunities to net a winner late on, and Real had to eventually settle for a point.