Vale set off at a cracking pace to deny their dangerous visitors time and space on the ball.
But Vale were determined to get on the front foot at every opportunity and midfield pair Carl Dickinson and Doug Loft had shots charged down.
Peterborough's Bobby Olejnik made the first serious save of a very tight contest in the 53rd minute when he dived to deny Vale striker Tom Pope.
Swanson then fired a 20-yard shot narrowly wide as Vale's strong defensive display kept their frustrated visitors at distance.
Lee Hughes pulled a shot off target for Vale as the game finally showed some signs of opening up midway through the second-half.
But it was Peterborough who claimed all three points when Barnett found space to hammer a left-footed shot inside Vale goalkeeper Chris Neal's right-hand post from 10 yards.