Port Vale full-back Adam Yates netted only his second goal in 100 league starts for the club to secure a 1-0 victory which pushes Macclesfield closer to relegation.
The Silkmen's last win came 20 league games ago against Vale on New Year's Eve and that run may have ended if George Donnelly had netted a 75th-minute penalty.
But he ballooned his attempt over the crossbar and Yates took full advantage when he prodded in the loose ball after Tom Pope's shot bounced back off a post eight minutes from time.
Vale dominated virtually the whole of the first half but couldn't take any of several clear-cut opportunities they created, Louis Dodds and Pope both heading against the crossbar.
The visitors, who lost striker Matt Smith to a leg injury just before the break, showed a lot more adventure after the break as Donnelly went close before Nat Brown's six-yard header was brilliantly saved by Stuart Tomlinson.
But Donnelly fluffed his lines as he appeared to slip before scooping his spot-kick high over the top after Vale defender Doug Loft had handled Ross Draper's shot, and Yates had the final say in the 82nd minute.