Sheffield United blew their chance to go back into second place in League One on a night of immense frustration at Bramall Lane.
United, unbeaten in 15 league games ahead of kick-off, would have returned to the division’s automatic promotion places with victory over Walsall, who travelled north 17th in the table and without a win in four games.
But Chris Wilder’s side saw their hopes, and that record, shattered by Amadoi Bakayoko’s first-half strike while captain Billy Sharp missed his second penalty in four games with just six minutes remaining.
United began the better of the two sides and enjoyed comfortably more of the ball, but visiting midfielder Erhun Oztumer rattled the home crossbar with a free-kick.
Jack O’Connell’s header was saved well by Neil Etheridge, with Walsall managing to scramble the ball off their goalline, but it was Bakayoko who made the breakthrough with minutes remaining in the first half.
Oztumer spotted his run and picked him out perfectly, Bakoyoko poking the ball past the onrushing Simon Moore.
Walsall began the second period on the front foot, too, and the excellent Oztumer forced Moore into a flying save.
Clarke and Coutts both fluffed their lines when well placed in front of an increasingly-frustrated Kop, and Barnsley referee Darren England attracted their ire moments later when he waved away appeals for a penalty after Sharp had been felled in the box.
Kieron Freeman’s excellent cross from the right fizzed across the face of goal and, somehow, managed to evade everyone, and United then had a ‘goal’ disallowed for pushing in the box.
England did point to the spot with six minutes remaining, when John Fleck’s shot was handled in the area by James O’Connor, but Ethridge guessed correctly and saved Sharp’s effort right on his goalline.
Sheffield United: Moore, Freeman, Basham (Chapman 69), Ebanks-Landell, O’Connell, Lafferty (Lavery 81), Coutts, Fleck, Duffy, Clarke, Sharp. Unused substitutes: Hussey, Scougall, Done, Ramsdale, Brown.
Walsall: Etheridge, McCarthy, O’Connor, Laird, Morris, Chambers, Dobson (Osbourne 69), Preston, Edwards, Oztumer (Ginnelly 69), Bakayoko (Jackson 77). Unused substitutes: Cuvelier, MacGillivray, Kinsell, Makris.
Referee: D England (Barnsley).