Kenwyne Jones's stunning volley gave Wednesday the edge in a five-goal thriller between these two play-off hopefuls.
The young Trinidad star gave Wednesday a 30th-minute lead with a looping and dipping volley.
Earlier, Walsall, on a run of five games unbeaten, started brighter and were almost gifted the lead when Darren Wrack exploited a mix up between Lee Bullen and David Lucas on the edge of the area, but the shot was blocked.
Paul Merson urged his players forward and almost gave them the lead when his test flick found Wrack who could in and volleyed at goal but Lucas tipped it over the bar.
Paul McShane, making his first start since joining the Saddlers on loan from Manchester United, then had a header cleared off the line.
Marvin Robinson then equalised for Walsall with his fourth goal in three games.
A mix up at the back between Paul McShane, and Mark Wright, saw the ball trickle over the line for Wednesday's second.
Then on 72 minutes Steve Maclean fired Wednesday into a 3-1 lead from the penalty spot, after being fouled by Neil Emblen.
McShane atoned for his earlier mistake by heading home player manager Paul Merson's far post cross nine minutes from time, but Wednesday hung on.