© Getty Images
Salata gave the hosts the lead inside eight minutes as Macedonia failed to clear Vladimir Weiss's free kick before the SK Slovan Bratislava player headed the ball beyond the reach of a stranded Tome Pacovski.
The Slovakians then doubled their lead seven minutes before the break as Hamsik raced into the area before beating Pacovski at his near post.
Hamsik almost scored a third within seconds of the restart as he forced a save out of the Macedonia keeper as the home side looked to seal victory.
The visitors pulled a goal back midway through the second period after Slovakia were unable to clear from a corner before Arijan Ademi slotted home from close range.
However, any hope of rescuing a point was all but ended as Ferhan Hasani was sent off six minutes from time as the hosts held on for their sixth win in as many qualifiers to remain three points of Spain, who earned a hard-fought victory away to Belarus.