On came Gareth Ainsworth for Ludovic Pollet and Zigor Aranalde for Steve Corica in the 58th minute to give Walsall more attacking alternatives down the flanks.
Ainsworth, on loan from Wimbledon, soon showed his skill and crossing capability, while Aranalde made a welcome return from injury.
At that point the game was all square at one goal each, with Walsall's Brazilian striker Junior having scored his eighth goal of the season in the 27th minute following a long ball by Ian Roper, which enabled Jorge Leitao to put in a telling cross.
But Grimsby deservedly drew level after 38 minutes when Steve Livingstone scored with a fine header from a cross by Darren Barnard.
The Mariners had had the better chances during the first half of a match which, to some extent was made scrappy by the heavy pitch.
The visitors were on top in the second half, but following Lee's astute changes, Walsall took over and man of the match Leitao scored his ninth goal of the season in the 66th minute following a pass by Junior.
Central defender Danny Hay, joining a Walsall attack, should have made certain from a cross by Junior, but failed to connect with a header right in front of goal.
Grimsby were still full of spirit and lively striker John Oster skimmed the bar with a 20-yard shot four minutes from time.
But a minute later both Junior and Leitao were in the action again, paving the way for ex-Grimsby man Darren Wrack to notch Walsall's third goal.
Afterwards Lee said: "Once we changed it we looked more open on the pitch and we were able to get at them. They began the second half well and it needed a tactical change to cause them problems and it worked."
Grimsby's player-manager Paul Groves was crestfallen: "I don't think our keeper had too many saves to make throughout the game, but we have conceded three goals and that's unforgivable," he said.