The visitors pushed for an equaliser, and almost found one when Igor Stasevich crossed the ball in for Sergey Kornilenko to attempt a header from close range, but Tome Pacovski reacted quickly to punch it clear.
Belarus did get back on level terms before the break as Timofey Kalachev struck the ball with power from 25 yards out shortly before the interval, picking out the bottom corner.
Stasevich could have put the visitors in front in the final seconds of the first half, but his late effort was a fraction high.
Both sides pushed for a second goal early in the second half with Stasevich forcing a save from Pacovski from a free kick, before Yuri Zhevnov had to parry a Besart Abdurahimi effort clear down the other end moments later.
Pacovski continued to come under pressure in the Macedonia goal as Stasevich unleashed a strike from the edge of the box, while Igor Shitov's long-range effort went just over.
Belarus continued to look the more likely as full time approached, and they took the lead for the first time inside the final 10 minutes when a long ball forward from Zhevnov eventually dropped to Kornilenko, leaving the striker to slot the ball in with a low finish.
The win is Belarus's first of the qualifying campaign, and moves them up to fourth in Group C, while Macedonia drop to fifth.