The Real Madrid forward scored the only goal of the game after 25 minutes, capitalising on an error by Radja Nainggolan to slot past Thibaut Courtois in the Belgium goal.
Chris Coleman’s side then kept Belgium at bay relatively comfortably for the remaining 65 minutes to move ahead of their opponents at the top of Group B.
Belgium started the game superbly, passing the ball around with confidence and looking to wear down the Wales defence.
Nainggolan was running the game from the centre of midfield with the trio of Eden Hazard, Kevin De Bruyne and Dries Mertens linking superbly behind Christian Benteke.
Mertens crossed just evaded Benteke and Nainggolan forced Wayne Hennessey into a smart stop down to his left and it seemed just a matter of time before the pressure resulted in a goal.
However, after Hal Robson-Kanu won a free-kick down in the corner, Wales loaded the Belgian box in an attempt to make the most of a rare foray into opposition territory. Aaron Ramsey’s free-kick was a good one but it was equally well defended, the initial header reaching the edge of the box.
Joe Allen tried to nod it back towards goal but only found Nainggolan. Only he will know why he chose to do what he did next. Instead of getting the ball further up the pitch the Roma man headed the ball back towards his own goal, presumably trying to find Courtois.
He failed to account for the lurking Bale, however, and the Real Madrid winger calmly chested the ball down before stroking it right-footed past Courtois.
The goal seemed to settle the home side and they could have gone 2-0 ahead just after the half hour as Robson-Kanu shot wide after a good move involving Ramsey and Joe Allen. The Arsenal man found space in the box and forced a save from Courtois, Toby Alderweireld rushed his clearance, presenting the ball to Robson-Kanu in the process. He was spared his blushes though as the Reading forward did likewise with his shot.
Marc Wilmots side regrouped and ended the half in the ascendancy but failed to trouble the Welsh defence in the same way they had in the opening stages.
It was the same story in the second half as Belgium started brightly once more, bringing on Romelu Lukaku to partner Christian Benteke up front. The latter came close to levelling the scores in the first minute of the half, stretching to volley over from a De Bruyne corner.
De Bruyne himself then went close with a left-footed shot from the edge of the box. Hennessey looked well beaten but the ball whistled past the post.
Belgium should then have had a penalty as Ashley Williams clipped Hazard as the Chelsea man tried to cut the ball back to Lukaku following a one-two with Benteke. The referee was unmoved and there were few appeals from the Belgium players despite replays confirming it should have been a spot kick.
From that moment onwards though, Wales were in control. They took all the heat out of the game with Allen and Ramsey in the middle of the park slowing the tempo of the game expertly.
The closest Belgium came was an Alderweireld header over the bar from a corner but despite a late rally form the away side, Wales held on for an historic victory over the No 2 ranked side in the world.