The Sulphurites custodian saved a first-half penalty and also produced five excellent stops to help end his side’s three-match losing streak.
Yet, while Belshaw’s heroics and a much-improved second-half showing from his colleagues can be counted as positives, Harrogate’s overall performance will leave manager Simon Weaver concerned.
The visitors were completely outplayed during the first period.
Belshaw saved from Josh Gordon, then kept out Emmanule Osadebe’s 38th-minute penalty, before thwarting the same player once again.
After the resumption, the Harrogate stopper denied Tyreik Wright one-on-one, Wes McDonald from distance and pushed over Caolan Lavery’s blast.
At the other end, Jack Muldoon sliced Town’s best chance of the match well wide.
Walsall: Roberts; Kinsella, Clarke, Sadler, Melbourne; Wright (Holden 78), Perry, Bates (McDonald 58), Osadebe; Lavery, Gordon. Unused substitutes: Rose, Norman, Sinclair, Osei-Yaw, Leak, Holden.
Harrogate Town: Belshaw; Fallowfield, Smith, Hall, Jones; Thomson, Falkingham, Burrell (Kerry 46), Muldoon; Martin (McPake 46), Beck. Unused substitutes: Minter, Kiernan, Francis, Williams.
Referee: W Finnie (Bedfordshire).
Support The Yorkshire Post and become a subscriber today. Your subscription will help us to continue to bring quality news to the people of Yorkshire. In return, you’ll see fewer ads on site, get free access to our app and receive exclusive members-only offers. Click HERE to subscribe