The Saddlers were held to an 11th away draw of the season after Stefan Payne’s second-half header rescued struggling Shrewsbury a point.
The visitors enjoyed the better of the first-half, with Amadou Bakayoko going close before Kieron Morris nodded us ahead on 35 minutes.
Jon Whitney’s side had chances to make it 2-0 but Salop, much improved after half-time, equalised when Payne headed home Shaun Whalley’s cross.
The result keeps the Saddlers 14th in League One.
In a frenetic start, Salop almost went ahead inside 15 seconds when Payne profited on an Eoghan O’Connell slip before bending an outside-of-the-boot shot wide of the far post.
The Saddlers responded immediately, with the recalled Amadou Bakayoko breaking into the box and firing low into the side-netting from an acute angle.
The Sierra Leone-born forward could, and perhaps should, have given Walsall the lead on 20 minutes as he side-footed Jason McCarthy’s accurate pull-back inches wide from 12 yards.
Needing points to stave off relegation, Paul Hurst’s hosts fashioned a couple of opportunities themselves midway through the half.
Aristote Nisiala sent a towering back-post header wide from Shaun Whalley’s corner, while Payne stung the finger-tips of Craig MacGillivray with a rasping drive.
But it was Walsall who broke the deadlock ten minutes before half-time, Morris ghosting in unmarked to head Joe Edwards’ excellent left-wing cross beyond Jayson Leutwiler from six yards.
Jon Whitney’s men – targeting a first away win of 2017 - would have doubled their lead shortly after but for a superb double save from Leutwiler.
The keeper first smothered Bakayoko’s effort from Edwards’ cut-back before acrobatically tipping Morris’ powerful 25-yard volley over the bar.
Half-time: Shrewsbury 0-1 Walsall
Town had the first scoring chance of the second period, Payne turning smartly in the box after another O’Connell slip but directing his shot too close to MacGillivray.
Only the reactions of Leutwiler prevented the Saddlers from making it 2-0 moments later as he palmed Edwards’ curling free-kick – which looked destined for the top corner – away to safety.
Morris went close to doubling his and the Saddlers’ tally just before the hour when he collected Bakayoko’s clever backheel before drilling a low angled strike narrowly wide.
And Walsall paid the price for not taking their chances as Shrewsbury drew level on 70 minutes, Payne heading Whalley’s inviting delivery back across MacGillivray and into the far corner.
With the wind in their sails, Salop piled on the pressure in search of a decisive second, with substitute Freddie Ladapo having a goal ruled out.
Gary Deegan and Whalley each fired straight at MacGillivray from long-range, while McCarthy also tested Leutwiler from distance, but neither team were able to find a winning goal.
Full-time: Shrewsbury 1-1 Walsall
Team: MacGillivray, O’Connor, O’Connell, Preston, McCarthy, Chambers, Osbourne, Morris (Cuvelier 66’), Edwards, Bakayoko (Candlin 88’), Makris (Jackson 66’).
Subs not used: Ganley, Laird, Dobson, Moussa.
Attendance: 6,801 (1,144 Walsall supporters).