First-half goals from Marcos Pizelli and Henrikh Mkhitaryan set Armenia on their way and, after Macedonia had lost Velice Sumulikoski to a red card just after half-time, Gevorg Ghazaryan made it 3-0 in the 69th minute.
Macedonia, who had lost five of their eight matches coming into the clash, pulled a goal back through Vance Sikov in the closing stages but Armenia had the final word when substitute Artur Sarkisov completed the scoring in stoppage time.
The win provisionally lifted Armenia level with erstwhile leaders Russia on 17 points and two clear of the Republic of Ireland, with those two sides playing later tonight. Armenia play Ireland in their final qualifier in Dublin on Tuesday.
After a low-key start in which neither goalkeeper was tested, Armenia broke the deadlock in the 28th minute. Yura Movsisyan played the ball in from the left and Pizelli slotted in from close range.
Armenia take advantage
It was 2-0 six minutes later when Mkhitaryan, with his fifth goal in qualifying, drilled home a long-range shot that Macedonia goalkeeper Martin Bogatinov was unable to keep out.
Macedonia came close to halving the deficit just before the break when home custodian Roman Berezovsky was called on to parry Nikolce Noveski's effort, but the visitors saw their hopes of getting anything out of the game suffer a setback in the 52nd minute when Sumulikoski was shown a second yellow for a foul on Karlen Mkrtchyan.
Armenia made the most of their man advantage to extend their lead in the 69th minute through Ghazaryan, who, like Mkhitaryan, made it five goals in qualifying when he fired past Bogatinov.
Sarkisov then hit the crossbar for the hosts but he would still end up on the scoresheet, slotting in from Movsisyan's ball in the 90th minute, four minutes after Macedonia had netted a consolation strike through Sikov's header from a Vlade Lazarevski corner.