The turning point came in the 52nd minute when referee Lee Collins awarded the Saddlers a controversial penalty for a push by Harry Maguire on Andy Butler, and Craig Westcarr, a second half substitute, drove home the spot-kick for his 10th goal of the season.
Ten minutes later a flowing four-man move ended with Sam Mantom picking out recalled full-back James Chambers who notched his first ever league goal from close range.
The Blades were on top from the start despite facing a strong wind, and it was no surprise when they took the lead in the 17th minute after some lively raids.
Stephen McGinn's through ball penetrated the Walsall defence and Chris Porter hit a rising drive on the run which flew into the top corner of the net.
The Saddlers struggled to make much impression up front, although Paul Downing might have done better when he sent a header wide from James Baxendale's 22nd-minute corner.