Sam Ricketts had introduced a number of changes on the hour and brought more under-18s players on before Saddlers midfielder Liam Kinsella struck the winner in a competitive contest.
The first half was a watchable clash despite the lack of goals. Walsall shaded the chances but both sides would have valued a worthwhile exercise as Scott High and Josh Vela caught the eye in midfield for Salop.
A keenly contested friendly broke out almost immediately, with the game played at a good tempo.
The League Two Saddlers were the better side for the opening 15 minutes, getting some joy down Town’s left. Right-back Cameron Norman’s shot was blocked before Josh Gordon’s cross-shot flew across goal.
Elijah Adebayo had the sting taken from his low finish by Ro-Shaun Williams’ last-ditch block before James Clarke headed a free-kick wide.
Town grew into the contest with Vela prominent in winning the ball high and making impressive late runs into the box. He headed a good left-sided Shaun Whalley cross straight at Liam Roberts before Daniel Udoh shot at the keeper from distance.
Cummings was keen to shoot from distance. He sent a couple of sliced efforts wide cutting in from the right on to his left foot before a measured 25-yard curler dropped a yard wide 10 minutes before the break.
Ricketts sent Rekeil Pyke on for Cummings at half-time, changing from 4-3-3 to 4-2-3-1, with Pyke on the left.
Saddlers attacker Rory Holden floated a header over shortly after the restart.
The action remained competitive but goalmouth action was few and far between in the second period before both sides rang the changes on the hour.
Ryan Sears, Ethan Ebanks-Landell, Sean Goss, James Rowland, Ryan Barnett, Brad Walker and under-18s youngster Louis Lloyd, who scored twice in a win against Wolves under-18s, were all introduced.
The second period was a non-event in terms of chances but remained competitive. A low Goss shot was deflected wide before Sears headed a decent chance over from Goss’ resulting corner.
With academy boss David Longwell watching on, Ricketts gave run-outs to two more youngsters at full-back and an attacker late on.
With nine minutes left, Walsall’s Jayden Campbell darted down the left before crossing for Caolan Lavery, who teed up Kinsella to finish high in off the crossbar from six yards.
Shrewsbury Town (4-3-3):
Burgoyne; Love (subbed off 75), Williams (Sears, 60), Pierre (Ebanks-Landell, 60), Golbourne (subbed off 75); High (Walker, 60), Edwards (Rowland, 60, subbed off 75), Vela (Goss, 60); Cummings (Pyke, 45), Udoh (Lloyd, 60), Whalley (Barnett, 60)
Roberts, Norman, Scarr, Clarke, Jules, Guthrie, Bates, Holden, Gordon, Adebayo (Lavery, 45), McDonald (Campbell, 45)
Walsall subs 60’: Foulkes, Leak, Cockerill-Mollett, Nolan, Perry, Kinsella and Trialist A