The visitors kept out everything Belgium could throw at them in a near 90-minute siege and lead with 12 points from six games, one ahead of Belgium.
Belgium attacked almost from the start, with Jeremy Doku continually trying to open up the defence from the left flank and Kevin De Bruyne probing from the edge of the area.
But their efforts were thwarted by a committed defence and when it was breached, goalkeeper Stole Dimitrievski came up with some key saves.
"We did everything we could to score but it was frustrating. If we had got a first goal, I'm sure we would have got a lot more," Belgian midfielder Hans Vanaken told VTM television.
Belgium have a game in hand and are still fancied to win the group and qualify for next June's tournament in the United States, Canada and Mexico.
In Paris, Kylian Mbappe played saviour as France closed in on qualification for next year's World Cup with a lacklustre 3-0 home win over Azerbaijan in Group D.
The 26-year-old forward opened the scoring on the stroke of half-time and set up Adrien Rabiot for the second, with substitute Florian Thauvin adding the third.
It put Les Bleus on nine points from three games and gives Didier Deschamps' side a chance to secure qualification on Monday when they travel to Iceland.
France were missing several key players with Paris St Germain forwards Ousmane Dembele, Desire Doue and Bradley Barcola all sidelined through injury, but former PSG duo Mbappe and Rabiot got the job done despite an appalling first half.
Switzerland captain Granit Xhaka scored from the spot as his side beat Sweden 2-0 in their Group B clash, leaving the Swedes' hopes of qualifying for next year's finals hanging by a thread after another dismal display.
Switzerland top the group with a perfect nine points from their opening three games, with Kosovo second on four points and Slovenia third on two after they played out a scoreless draw in Pristina. The Swedes are bottom with a point.
The hosts were outplayed throughout, with Switzerland taking the lead in the 65th minute after Alexander Bernhardsson sent Djibril Sow sprawling in the box with a push in the back, and Xhaka blasted the resulting penalty straight down the middle.
A frustrating night for the Swedes was punctuated when Swiss substitute Johan Manzabi's tame effort was deflected past 'keeper Viktor Johansson in second-half stoppage time, condemning them to a second defeat in three games that leaves their qualifying chances in tatters.
In Sinsheim, Germany's Joshua Kimmich netted twice to power his side to a 4-0 home win over Luxembourg.
The visitors went down to 10 men in the first half and the hosts moved top of the standings in a tight Group A.
The opening two goals came from dead ball situations. David Raum curled in a free kick after 12 minutes and Kimmich converted a penalty nine minutes later after Luxembourg's Dirk Carlson was sent off for handball in the area.
Serge Gnabry scored the third three minutes after the break and Kimmich got his double two minutes later.
The win combined with Slovakia's 2-0 defeat in Northern Ireland put the Germans top on goal difference, with the Irish second and the Slovaks dropping to third, with all three teams on six points. Luxembourg are bottom without a point.