Vale put on an encouraging display against Walsall but went down to two goals from sub Jordan Cook.
Rob Page made one change with Byron Moore coming in for Chris Birchall. Vale made a bright start and Duffy had the ball in the net in the early stages only to be flagged offside.
The home side had the majority of the possession but Vale had the better chances as they looked to capitalise on hesitation from Walsall keeper Etheridge.
Vale had chances for Kelly, Leitch-Smith and O’Connor while the home side were restricted to some off-target efforts from Sawyers.
However, Vale suffered a blow in the second-half when Dodds limped off and was replaced by Ikpeazu.
The Valiants then went close though Leitch-Smith before a slip from Grant allowed Walsall to force a good save from Alnwick but Jordan Cook stabbed the loose ball home. Alnwick then pulled off a good save from Forde to stop Walsall doubling the lead.
Vale pushed in the closing stages and Leitch-Smith had another chance blocked but Walsall wrapped up the victory as Jordan Cook fired home in the closing minutes. It was a disappointing result for Vale who had performed well for large stages of the game.
Vale: Alnwick, Purkiss, Duffy, McGivern, Yates, Grant, O’Connor, Moore (Hooper), Kelly (Foley), Dodds (Ikpeazu), Leitch-Smith
Subs: Neal, Birchall, Streete, Daniel