Town should have won it after drawing level in the second half, but they failed to capitalise on the one-man advantage, and have now gone seven games without a win in the league.
The Cobblers missed a glorious opportunity to break the deadlock three minutes before the break when Tommy Fraser brought down Paul Rodgers, but Adebayo Akinfenwa saw his penalty saved by Chris Martin.
And that miss proved costly two minutes into first-half stoppage time when former Cobbler Marc Richards scored from the spot after Chris Dunn had brought down Louis Dodds after Dean Beckwith’s back-header fell well short.
But Akinfenwa redeemed himself six minutes after the restart when he successfully converted from the penalty spot for his ninth goal of the season. It came after he was pulled back in the box by John McCombe, who was dismissed with a straight red.
Dodds almost won it for Vale, but was denied by Dunn, who also saved the rebound from Richards.