Dan Agyei scored his third goal in four matches as the Saddlers held unbeaten League One leaders Shrewsbury to a scrappy draw.
The Burnley loanee put Walsall ahead with a magnificent curling effort but Town levelled just six minutes later, Stefan Payne firing home a penalty after Jon Guthrie had handled.
The result leaves the Saddlers in 16th place.
The hosts took the lead in spectacular circumstances on 14 minutes as Dan Agyei curled a dipping right-footed effort over ex-Saddler Craig MacGillivray from 20 yards.
But the lead didn’t last long as Jon Whitney’s men were pegged back in a moment of huge controversy six minutes later.
Stefan Payne’s close-range header from Louis Dodd’s chip was handled by Jon Guthrie inside the six-yard box, with referee Graham Salisbury pointing to the spot.
Guthrie escaped without a caution – when Town felt he should been sent off - and Payne sent Mark Gillespie the wrong way with the resulting penalty, the eighth Walsall have conceded this term.
The dangerous Payne thought he had doubled his and Salop’s tally on 34 minutes as he rounded Gillespie and fired towards goal but Kory Roberts got back to clear off the line.
Payne was denied again barely a minute later, this time by the linesman’s flag, as his ferocious volley was disallowed for offside.
Joe Edwards went close for the Saddlers on the stroke of half-time with a fine run and driven shot which was well blocked.
There was precious little goalmouth incident in a scrappy but fiercely competitive second half.
The few half-chances that were created fell to Town, who were targeting their first win at the Banks’s in 24 years.
Payne saw a shot blocked by Kory Roberts and the same man bundled Alex Rodman’s cross-shot badly wide from close range – although the flag was already up for offside.
James Bolton was left unmarked at the far post but headed Dodds’ corner well wide.
The Saddlers’ first attempt of the second period came four minutes from time, substitute Tyler Roberts with a tame 25-yard shot that was easily held by MacGillivray.
The former Walsall stopper thwarted Tyler Roberts again shortly after, producing an excellent stop from point-blank range to claw the forward’s header over the bar.
Erhun Oztumer could have won it for the home side in added time but was unable to divert Kieron Morris’ teasing low cross into the far corner.
Team: Gillespie, Wilson, K Roberts, Guthrie, Devlin, Edwards, Morris, Leahy, Oztumer, Bakayoko, Agyei (T Roberts 68’).
Subs not used: L Roberts, Flanagan, Ismail, Kouhyar, Shorrock, Candlin.
Attendance: 5,971 (1,643 Shrewsbury supporters).