George Donnelly’s winner on 71 minutes denied the Valiants a fourth successive win after Marc Richards had cancelled out Stuart Tomlinson’s early own goal.
The Silkmen took the lead in the 36th minute when a Matt Hamshaw half-volley from distance came off the underside of the bar and bounced in off Tomlinson.
Moments after the break, Macc goalkeeper Jose Veiga fumbled a deflected Jennison Myrie-Williams drive wide of the upright.
Vale equalised in the 61st minute, substitute Richards on hand to head home a Doug Loft cross on the bounce at the far post.
But moments after Jon Bateson had cleared a Ben Williamson shot off the line, Donnelly raced clear at the other end to blast home the hosts’ second and seal victory in the 71st minute.