Jon Brady's side looked to be heading for a share of the spoils at Vale Park with the game goalless going into the final five minutes.
But Vale substitute Ben Garrity came up with a dramatic late winner, firing home from the edge of the penalty to give the home side all three points, and stretch their unbeaten run to six matches.
As for the Cobblers, they will feel as though their defensive efforts warranted a point on the road, but they showed very little attacking intent on a difficult afternoon, managing a solitary shot on target in the 90 minutes.
The Cobblers made one change to the side that lost 1-0 to Wycombe Wanderers in their most recent league one outing, the 1-0 defeat at Sixfields a fortnight ago.
Goalkeeper Lee Burge made a welcome return between the sticks, having not played since the opening day of the season against Stevenage.
He replaced young Newcastle United loanee Max Thompson, with Jon Brady keeping faith with the 10 outfield players that lost to the Chairboys.
There was also a return to the bench for Ben Fox, the midfielder having not played a competitive match since damaging ankle ligaments in the 0-0 draw with AFC Wimbledon in February.
The home side made a lively start in a crackling atmosphere, pinging the ball around with confidence, with Alfie Devine, Oliver Arblaster and Funso Ojo at the heart of a string of attacking moves.
They were nearly in on Burge’s goal a few times early on, with Ethan Chislett for some reason turning down the chance to shoot from six yards out on the angle, instead passing across the goal to nobody.
But despite Vale’s early intent, it was the 11th minute before Burge stopper was seriously called into action, diving to his left to turn a Chislett strike from 20 yards round the post.
Vale were sharp in their movement and passing and at times threatened to overrun the Cobblers, but the visitors stood firm and started to grow into the game.
The visitors were starting to see more of the ball, and carved out their first chance on 20 minutes, Kieron Bowie letting fly with a left foot snapshot from the edge of the area that saw Connor Ripley slightly rushed into saving low to his left.
Vale seemed to have run out of attacking ideas by the mid point of the half as the game became far more even and bogged down in midfield, so much so that neither keeper was called into action again before the break.
Brady was clearly not happy with what he had seen in the first half as he made three changes at the break, with Bowie, Louis Appere and Akin Odimayo all withdrawn and replaced by Aaron McGowan, Manny Monthe and Tyreece Simpson, the Cobblers switching from a 4-3-3 to a 5-3-2.
Simpson had an early chance to make an instant impact, but after good work by Patrick Brough down the left, the striker’s rising left foot shot from six yards out went over the bar, via the boot of a Vale defender, although a goal-kick was awarded.
Vale were again looking sharp, and skipper Jon Guthrie twice had to be in the right place at the right time to block goalbound shots from Tom Sang and James Plant.
Again though, the home side’s initial burst fizzled out an the contest once more petered out into a midfield stalemate, with neither side creating anything.
Then, out of the blue on 75 minutes the Cobblers could and should have scored.
Brough, who was proving to be Town’s main attacking threat, again broke down the left and his low cross was on a plate for Sam Hoskins who, sliding in, diverted his shot from eight yards over the bar.
He should have hit the target.
And Town were made to rue passing up that opportunity just a few minutes later when the home side broke the deadlock.
Seconds after Marc Leonard made an audacious attempt to score from inside his own half, the ball was pumped downfield, substitute Garrity picked it up 20 yards out, cut inside and let fly with his right foot.
It was a good strike and the ball flew past Burge’s despairing dive to his right and into the bottom corner.
The Cobblers now needed to find a way back into the match, but despite six minutes of stoppage time being added on, they didn’t carve out any sort of clear chance and it was the home side and their supporters who celebrated victory.
Port Vale: Connor Ripley, Tom Sang, Kofi Balmer (73m, Lewis Cass), Nathan Smith, Ethan Chislett (73m, Ben Garrity), Alfie Devine (73m, Gavin Massey), Funsi Ojo, Alex Iacovitti, Oliver Arblaster, James Plant (62m, Conor Grant), James Wilson (62m, Ryan Loft). Subs not used: Jayson Leutweiler, Jason Lowe
Cobblers: Lee Burge, Akin Odimayo (46m, Manny Monthe), Patrick Brough, Sam Sherring (86m, Lintott), Jon Guthrie, Jack Sowerby (82m, Shaun McWilliams), Marc Leonard, Mitch Pinnock, Sam Hoskins, Kieron Bowie (46m, Tyreece Simpson), Louis Appere (46m, Aaron McGowan). Subs: Max Thompson, Ben Fox
Referee: Scott Oldham
Cobblers fans: 640