An own goal from the unfortunate Luke Prosser was enough to hand victory to ten-man Exeter City.
The Grecians had defender Danny Seaborne sent off for a second yellow card midway through the first half.
But they still looked the better side and took the lead when the unlucky Prosser turned the ball into his own net midway through the half.
It was a scrappy start with few chances at either end. Exeter were reduced to ten men when Seaborne was shown his second yellow card in the 29th minute to the shock of almost everyone at St James Park.
The defender was shown yellow early on for unsporting behaviour. But the second yellow, awarded after it looked like Dean Moxey had committed a rash challenge, may have been for something he said to the referee.
Despite the numerical advantage Vale continued to offer little as an attacking force.
Exeter went close when Marcus Stewart had a shot blocked and the Grecians finally took the lead just before the half-hour mark.
Prosser was the unlucky defender when he diverted a misplaced cross past stranded goalkeeper Chris Martin to the delight of the home faithful.
It was no more than Exeter deserved for a plucky performance despite being a man down.
After the break Exeter continued to look the better side with Stewart having a shot blocked as they looked to stretch their lead.
The visitors rallied after the break and John McCombe went close with a header which flew wide. Paul Edwards then shot wide as Vale continued to press.
The visitors enjoyed plenty of pressure late in the game but Exeter held on for what could prove to be a crucial three points.