Keane reaches milestone as Ireland go top
The victory put the Irish top of Group B with 13 points from six matches, ahead of Russia and Slovakia on goal difference.
Playing their first match in the Filip Makedonski stadium since the venue was overhauled and the capacity tripled to 36,000 earlier this year, Macedonia were roared on by their passionate fans who gave Ireland a hostile reception.
Keane silenced the crowd in the eighth minute when his shot from 25 metres deflected off Nikolce Noveski and sailed over keeper Martin Bogatinov's head.
Keeper Shay Given saved the visitors five minutes later when he denied Goran Pandev who should have done better when he was put through after clever team work.
Pandev also had a strong penalty shout waved away when John O'Shea hauled him down before Keane doubled Ireland's lead with a typical opportunist finish.
The striker pounced on Boban Grncarov's misplaced back-pass and steered the ball past Bogatinov into the far corner of the net in the 37th minute.
Ivan Trickovski missed an excellent chance to pull a goal back for Macedonia before half-time by slamming his penalty against the crossbar after Pandev was fouled by O'Shea.
Given did well to keep out a fierce shot by Mario Gjurovski midway through the second half and Ireland held on comfortably in the closing stages as the home side ran out of steam.
Macedonia stayed second from bottom in the six-team group with four points from six games, ahead of Andorra who have failed to collect a single point.