The Saddlers were a goal down, but fought back to win thanks to goals from Emmanuel Ledesma, Mat Sadler and George Bowerman.
It moved them on to 42 points, one behind the Iron who are on 43, and two above Wycombe who drop into the danger zone.
“It was a good performance and a good result after Colchester had scored a fantastic goal. Our reaction was terrific," said Dean Smith, the Walsall manager.
“But this was not about individuals, it was a team performance. Andy Butler was excellent in our defence for the way he dealt with Kayode Odejayi, who is a real handful.
"We knew it was important to win because it was out game in hand, and now we are looking forward to going to Rochdale on Saturday."
Leyton Orient also pulled further away from the relegation zone with a 1-0 win at Oldham, thanks to a goal from David Mooney. It moved them on to 46 points, six clear of the relegation zone.
Preston's 3-1 home loss to Bournemouth means they are seven points clear of the bottom three, while Carlisle boosted their play-off hopes with a 2-1 win at MK Dons and Stevenage were held to a 2-2 draw at home to Bournemouth.