Northampton's poor home form continued as they slipped to their fifth defeat in six games at Sixfields Stadium.
The Cobblers gifted Vale their opener when George Pilkington was given space to head in Danny Whitaker's corner.
Vale increased their lead when a long throw was only partially cleared to Stefan Moore who hammered in a shot which deflected past keeper Mark Bunn.
Substitute Jerome Watt twice went close for Northampton in the second half but Vale were never seriously threatened.
Northampton: Bunn, Chambers (Quinn 78), Dyche, Doig, Crowe, Hunt, Taylor, Jess (Bojic 65), Cole (Watt 45), McGleish, Kirk.
Subs Not Used: Harper, Gilligan.
Port Vale: Goodlad, McGregor, Pilkington, Walker, Talbot, Moore (Lowndes 62), Whitaker, Jeff Smith, Humphreys, Sodje (Abbey 75), Constantine (Miles 88).
Subs Not Used: Anyon, Cardle.
Goals: Pilkington 12, Moore 32.
Ref: R Olivier (W Midlands).