Chances were at a premium in a tight encounter, with Kieron Morris going closest for the Saddlers when he rattled the bar with a first-half effort.
Valiants keeper Leonardo Fasan made fine saves to deny James O’Connor and Amadou Bakayoko, while Vale’s Sam Foley headed a good chance wide.
But the only goal came with five minutes remaining as Eagles arrowed a stunning strike into the far top corner.
The result leaves Walsall 13th in League One.
Needing at least a point to keep their survival hopes alive, Vale made the brighter start with Chris Eagles testing Craig MacGillivray from distance and Sam Foley hooking an acrobatic effort wide.
The Saddlers almost took the lead with their first attempt midway through the half, Maz Kouhyar teeing up Kieron Morris to strike a left-footed drive against the bar from 20 yards.
Kouhyar then saw a low cross deflected into the side-netting before Morris had an attempt blocked following good work by Jason McCarthy.
With Walsall finding their feet, Vale stopper Leonardo Fasan was then forced into a fine reflex save to tip over James O’Connor’s close-range header from a corner.
The Valiants threatened twice in first half injury-time, Remie Streete heading a deep Ryan Taylor centre wide and Dan Turner lashing just over from inside the box.
Half-time: Walsall 0-0 Port Vale
The hosts made the more positive start to the second period, with Adam Chambers and Amadou Bakayoko each firing wide and Morris having another effort blocked.
Fasan had to be at his best on 58 minutes, the keeper reacting superbly to claw away Bakayoko’s attempted lob from Edwards’ long pass.
Vale had a glorious chance to go ahead against the run of play five minutes later, when captain Foley headed Eagles’ delightful delivery a fraction wide from six yards.
Michael Brown’s visitors increased the urgency in the closing stages as they pushed for a winning goal.
Billy Reeves volleyed wide from the edge of the box and the same man was then denied by an outstanding Kory Roberts block from point-blank range.
But Vale did manage to break the deadlock five minutes from time, Eagles arrowing a stunning right-footed drive across MacGillivray and into the far top corner.
Walsall were unable to muster a response as the visitors held on to take their survival bid to the final day.
Fulll-time: Walsall 0-1 Port Vale
Team: MacGillivray, O’Connor, Preston, Roberts, McCarthy, Chambers, Dobson, Edwards, Kouhyar (Hayles-Docherty 68’), Morris, Bakayoko (Candlin 83’).
Subs not used: Ganley, Kinsella, Sangha, Makris, Vann.
Attendance: 4,266 (462 Port Vale supporters).