Newport County missed out on a point in the final moments as Alexander Pattison grabbed a late winner.
The Exiles took the lead after James Crole’s cross found an unmarked Harrison Biggins, who was rewarded with a simple finish into an open goal.
However, the Saddlers responded as Daniel Kanu saw the ball fall kindly to his feet in the box and struck into the bottom corner.
With Walsall applying constant pressure, they eventually broke through in the final moments as Pattison’s long-range effort found the bottom corner.
The result keeps Newport above the relegation zone by a point, level on points with Crawley Town but behind on goal difference.
Christian Fuchs made three changes to the side that narrowly missed out against Bromley on Tuesday.
Lee Jenkins, Joe Thomas and Nathaniel Opoku made way for Liam Shephard, Ryan Delaney and James Crole.
For Walsall, Darren Byfield made two changes following a goalless draw against Cambridge in their previous game.
Alfie Chang and Pattison came into the starting eleven, replacing Jamie Jellis and Brandon Comley.
It was Walsall who had the first chance after Sven Sprangler was shown a yellow card just one minute into the match, but the resulting free-kick came to nothing.
Shortly after, Crole had a shot from just outside the box, but an outstretched Myles Roberts saved his effort.
Walsall threatened again when a Kacper Lopata header caused danger, but it was comfortably gathered by Jordan Wright.
The hosts continued to find openings as a mistake at the back saw Daniel Kanu in space, but he was unable to direct his shot on target.
County responded as a looping cross from Bobby Kamwa found Ben Lloyd, but his header failed to trouble the goal.
Just before the 30-minute mark, Pattison played through Albert Adomah, whose powerful effort struck the post before being cleared.
But it was the Exiles who went in front ten minutes before half-time as Crole’s cross found Biggins, who calmly slotted into an open net.
Biggins continued to threaten and, minutes later, saw a 25-yard effort saved, but County went into the break ahead.
County created the first chance of the second half as Tom Davies’ free-kick found Cameron Evans, whose header drifted just wide.
Aaron Loupalo-Bi was then given space, but a last-ditch block from Ryan Delaney prevented danger.
Walsall continued to apply pressure, with Pattison delivering a cross that flashed across goal, but no one could apply the finish.
Biggins remained a threat, forcing another save from Roberts with a close-range effort to earn a corner.
Despite Newport’s positive play, Walsall found an equaliser as the ball was worked around the box before falling to Kanu, who finished into the bottom corner.
The Saddlers looked to build on their momentum, with a corner finding substitute Aden Flint, but his header drifted wide.
With 15 minutes remaining, Walsall fired a series of efforts towards goal, but a resolute Newport defence held firm.
Pattison then broke through, but after an initial intervention from Matt Baker, Jordan Wright produced a superb save to keep County level.
However, Pattison had the final say, as with the last touch of the game his low-driven strike from distance found the net to secure victory for Walsall.
Newport’s next fixture sees them welcome Shrewsbury Town to Rodney Parade next Saturday.
Newport County: Wright, Shephard (Glennon 84’), Baker, Delaney, Davies, Evans (Smith 76’), Sprangler, Biggins, Lloyd (Thomas 65’), Kamwa (Opoku 76’), Crole (Baker-Richardson 84’).
Substitutes not used: MacDonald, Garner.
Walsall: Roberts, Hancock, Burke, Lakin, Loupalo-Bi (Pressley 62’), Kanu, Chang (Jellis 62’), Pattison, Browne, Lopata (Flint 55’), Adomah (Okeke 82’).
Substitutes not used: Hornby, Clarke, Harper.
Match Officials: Ross Joyce (Referee), David Middleton and Kevin Morris (Assistant Referees), Jason Porter (Fourth Official).