Town: Cameron Gregory, Jake Kerins (Ofori 57), Callum Roberts, George Hughes, Joel Bonner, Jacob Rammell (Jones 49), Aaron Gilpin, Chris Gallagher, George Hassell (Higgs 57), John McAtee, Ryan Barnett
Subs: Cameron Esien, Matt Jones, Charley Higgs, Tyrone Ofori, Fumpa Mwandwe
Walsall: Ganley, Tonks, Cockerill-Mollett, Maddocks, Vann, Kendrick, Hughes-Docherty, Mason, Peters, Sharrock, O'Sullivan
Subs: Freemantle, Cairns, Candin, Friel, Perry
Manager Ian Dawes makes a number of changes from Tuesday's game with Manchester City. Callum Roberts is recalled for his first game in four months after injury and George Hassell starts upfront in place of George Hassell. Ryan Sears misses out with injury, with Jake Kerins replacing him.
Walsall started brightly and could have opened the scoring inside the first 5 minutes when George Hughes was forced to make a last ditch block to deny O'Sullivan.
A minute later Town took the lead, when John McAtee's free kick was deflected into the top corner, beyond the despairing dive of Ganley.
Town could have doubled their lead a minute later, when again McAtee shot from range, but his strike went just over the bar.
Town continued to dominate the early stages and Chris Gallagher hit the post from 20 yards.
Walsall began to get more of a foothold on the game as the half wore on and Cameron Gregory was forced to make big in order to deny Hughes-Docherty after Town failed to clear their lines.
In what was an even first half possession wise, Town continued to try and play good stuff and some neat interplay between McAtee and Gallagher led to the later blazing over from distance.
Walsall piled on the pressure in the final ten minutes of the half. Town survived three corners in succession.
Walsall then hit the post twice in the final minute of the half as first Cameron Gregory pushed a shot onto the post before Jake Kerins made a vital block from a corner.
Half Time 1-0
Walsall started brightly after the break and the dangerous O'Sullivan had a shot from distance which went just over the bar.
Walsall continued to cause problems for Town's defence as Maddocks went close with a header and they finally got the equaliser they deserved on 55 minutes when Peters sidefooted home from a Hughes-Docherty cross.
Ian Dawes made two attacking substitutions after the goal with strikers Ofori and Higgs coming on and they almost made an instant impact as Ofori was played through by McAtee down the right hand side, but his cross couldn't find Higgs in the box.
Ofori continued to cause problems with his pace first playing in Higgs, whose shot was well saved by Ganley and then playing in McAtee, but his shot also had the same result.
In an end to end game Walsall grabbed the lead with 20 minutes to go when Callum Roberts brought down a Walsall man and Peters stepped up to get his second of the game.
Walsall could have made it 3-1 just a minute later but Gregory pulled off two good saves in quick succession to keep things at 2-1.
Town tried to find an equaliser and Aaron Gilpin made some good runs down the right, but they couldn’t find the breakthrough as the rain got heavier.
Finally, Town found the breakthrough when the hardworking Gilpin once again did well down the right and he managed to find Tyrone Ofori who stroked it home from 8 yards with just two minutes remaining.
Town could have won it right at the death as John McAtee found himself in space behind the Walsall back four, but Ganley made a good save with his legs to keep the score a two-all.