TOWN were sunk by old boy Dwayne Mattis’s late strike.
Just two minutes of normal time remained when the midfielder shot home from eight yards out.
His goal completed a home fightback after Theo Robinson fired Town ahead in the 47th minute.
Darren Byfield levelled with a penalty before Mattis pounced to condemn Lee Clark’s side to defeat.
The Town boss made one change from Saturday’s goalless draw with Stockport, bringing in Jim Goodwin for a first league start of the season in place of Gary Roberts.
The Irishman slotted into central midfield alongside Antony Kay, with Danny Drinkwater playing on the right and Anthony Pilkington taking Roberts’ usual berth on the left.
Town had to deal with a wave of Walsall attacks in the opening 10 minutes.
Experienced striker Byfield made room for himself on the edge of the area and curled a left-foot shot just over while on-loan Manchester City defender Clayton McDonald hit Alex Smithies’ left-hand post with a header only to be pulled up for a foul.
Then keeper Smithies allowed Alex Nicholls’ inswinging corner to slip through his hands and was grateful to see Kay head clear.
Pilkington was penalised for a high foot on 21 minutes, and from Mark Hughes’ free-kick, Mattis brushed Smithies’ left-hand post with a header.
With centre-back Hughes in fine form, Town were struggling to make much impression up front, although Pilkington did make a good run in the 30th minute, with his cross looping up off a defender into the path of Theo Robinson, whose header was saved by Rene Gilmartin.
Jordan Rhodes then stabbed a shot from Robinson’s cross narrowly wide.
Joe Skarz’s 36th-minute foul on Nicholls gave Walsall a free-kick in a dangerous position 25 yards out, and Smithies did well to block from Richards.
Troy Deeney tumbled in a 38th-minute clash with Andy Butler, but referee Carl Boyeson waved away home penalty claims and instead booked the striker for diving.
Town’s first corner of the game didn’t arrive until the 44th minute, and when Drinkwater’s in-swinger was headed clear, Goodwin shot over from distance.
They might have been restricted to sporadic attacks in the first half, but Town made a sizzling start to the second.
Just 102 seconds had gone when Robinson shot home.
Latching onto a through ball by frontline colleague Rhodes, he brushed past former Town left-back Jamie Vincent and coolly went past keeper Gilmartin before netting in front of Town’s 589 travelling fans.
Robinson could have had a second from another Rhodes delivery in the 56th minute, but McDonald made a key interception.
Then, after 61 minutes, Drinkwater shot wide from Robinson’s lay off.
Just when Town seemed to be taking control, Walsall were handed the lifeline of a 64th-minute penalty.
Skarz was ruled to have handled a Nicholls header, and Byfield made no mistake from the spot, sending Smithies the wrong way with a low shot to the keeper’s right.
The action was now end to end, and it took a fine sliding tackle by the busy Mattis to thwart Rhodes as he shot goalwards from Robinson’s 71st-minute pass.
Mark Bradley’s 82nd-minute corner caused concern for Town, but Butler produced a powerful header clear.Related content
However, Mattis made no mistake when Town were unable to clear Richards’ cross from the left.
Substitute Robbie Simpson had a goalbound shot in the 88th minute, but Hughes blocked.