The Saddlers’ relegation worries deepened with a narrow defeat at play-off chasing Scunthorpe.
The only goal came with 16 minutes remaining when Ryan Yates headed home Conor Townsend’s cross.
Walsall stay 19th in League One, but are now just a point above the relegation zone.
The visitors, who reverted to the 4-4-2 system deployed at Oldham, threatened first when Kieron Morris’ free-kick was headed over by Amadou Bakayoko, under pressure from Conor Townsend.
The Iron had the ball in the net in the sixth minute as Ryan Yates steered home from Townsend’s left-wing cross, but the goal was chalked off for offside.
Dean Keates’ outfit were more than matching their top-six aspiring hosts, with Julien Ngoy turning and firing straight at home keeper Matt Gilks.
There was a brief stoppage in play after 20 minutes as assistant referee Helen Byrne was taken ill, leading to a reshuffle of officials.
Another half-chance fell Ngoy’s way later in the half – the Stoke loanee collecting Hakeeb Adelakun’s wayward clearance before hitting a left-footed drive which was well blocked.
Neither team, though, were offering much of an attacking threat, with both guilty of being wasteful in possession.
Scunthorpe, who had been particularly sloppy, almost grabbed the lead on the stroke of half-time as Josh Morris’ curling left-footed free-kick bounced back off the post.
The Saddlers enjoyed a good spell of pressure at the start of second half, with Luke Leahy seeing a driven shot kept out by Gilks at his near post.
The home side, who had Nick Daws in caretaker charge, went close twice in quick succession just past the hour mark.
First, substitute Cameron McGeehan’s delayed shot was blocked by Jack Fitzwater before Funso Ojo’s firm 20-yarder was palmed around the post by Walsall glovesman Liam Roberts.
The contest remained evenly balanced, with McGeehan sending a far-post header off target and Saddlers substitute Erhun Oztumer curling a free-kick harmlessly wide from the edge of the box.
But the deadlock was broken with 14 minutes remaining as the unmarked Yates powered a diving header into the bottom corner from Townsend’s accurate cross.
Flo Cuvelier and Justin Shaibu were introduced late on but Walsall were unable to create any real chances as Scunthorpe comfortably held on.
Team (4-4-2): L Roberts; Kinsella (Cuvelier 81’), Fitzwater, Guthrie, Leahy; Devlin, Chambers, Dobson, Morris (Shaibu 81’); Bakayoko, Ngoy (Oztumer 71’).
Subs not used: Gillespie, K Roberts, Flanagan, Kouhyar.