Jacob Brown struck an injury-time winner as Barnsley maintained the pressure on Luton Town at the top of League One.
Here’s how Leon Wobschall rated the performances.
Jack Walton. Little to do in the first half. But came to the fore in the second half with a big save. 7.
Dimitri Cavare. Produced a couple of trademark surges forward, but was largely kept busy at the other end. 6
Ethan Pinnock. Solid and on-message and displayed the characterists of a player who has the measure of League One. How Barnsley needed him. 8
Liam Lindsay. Picked up a knock in the first period which clearly troubled him. A caution added to his pains. But showed grit and resolve. 7
Ben Williams. Had a tough first half with Ismail causing him plenty of grief. But produced a brilliant goalline clearance on the restart to save the day. 6.
Cameron McGeehan. Quiet day as Walsall won most of the second balls. Looked a bit rusty. 5.
Alex Mowatt. Threatened sporadically and was uncharacteristically sloppy on the ball at times. 5
Jacob Brown. Not involved as much as he’d have liked and was a peripherial figure on his return from suspension - that it until his dramatic late intervention. 6
Mike Bahre. Game passed him by in the main. Not one of his better days. 5
Mamadou Thiam. Went close with a fierce rising shot in the first half, but not at his best. 6
Cauley Woodrow. Linked play nicely at times, but not afforded any real sight of goal until late on, but Roberts thwarted him. 6
Substitutes: Callum Styles (Bahre 68), 6. Victor Adeboyejo (McGeehan 76), 6, Jordan Green (Thiam 84), 6.
Not used: Jack Greatorex, Zeki Fryers, Adam Jackson, Jordan Williams.