Swindon Town conceded at the death to lose 2-1 away from home against playoff-chasing Walsall.

A frantic opening 20 minutes saw the hosts take a deserved lead when Mo Faal headed home a corner as Swindon struggled to create many clear-cut chances.

After weathering a few more waves of Walsall pressure, Paul Glatzel fired home a fine equaliser to extend his own rich vein of form in front of goal, but Danny Johnson came off the bench to net the winner in the 90th minute.

Swindon’s brief winning run comes to an end with this late heartbreak and they will now need to win both of their last two league matches to better the Beamish Line points tally.

Gavin Gunning made three changes to the side that had beaten AFC Wimbledon four days ago. Joel McGregor was handed his first league start as he came in alongside Tom Brewitt and Saturday’s match-winner Dawson Devoy. They replaced Zac Elbouzedi, George McEachran, and the suspended Udoka Godwin-Malife.

With their whole season more-or-less resting entirely on this game, the hosts opened with a fierce intensity. Donervon Daniels was sticking long balls on Town early and forcing some slightly desperate defensive headers.

After eight minutes Walsall had a golden chance as after an initial cross was half-cleared, Ross Tierney was able to pick out an unmarked Faal on the edge of the six-yard box, but it was a swing and a miss for the big striker.

Less than a minute later the Saddlers came even closer as Faal beat Brewitt to a long ball and knocked it off to Josh Gordon, who had a go from the edge of the box and rattled the outside of the post.

In the tenth minute, the hosts got the goal their play had deserved as a corner from the left was struck well into the six-yard box and the towering figure of Faal got up highest to nod into the back of the net.

Swindon were having difficulty coping with the intensity and could have been another goal down as a free kick from deep was clipped into the path of Tierney as he darted behind the wall and he looked to shoot but couldn’t keep it down.

Town’s first shot on target didn’t come until the 25th minute as they worked the ball from the right out to the left as Williams Kokolo made a smart run inside and had a go from the angle, but it was easily fielded by Owen Evans.

All the chances continued to fall at on end and a high ball dropped down for Isaac Hutchinson on the top of the box. He hit his effort into the ground and it skipped up dangerously, but Jack Bycoft did well to save it.

Jake Cain took a corner from the right and found Frazer Blake-Tracy at the far post. He headed the ball back across but the outstretched leg of Paul Glatzel couldn’t quite get the touch it required and Walsall were able to scramble away.

By the end of the opening 45, Swindon were starting to give as good as they got and had pushed Walsall back. They were getting good territory but there was still a real danger from the hosts on the counter attack.

Less than a minute into the second half Brewitt went down with an injury, meaning that Harley Hunt came on for his professional debut on the right of the back three.

Walsall were looking very dangerous down their right early in the second and would be left scratching their heads over how they hadn’t doubled their lead when Tierney played a one-two to get behind Kokolo and his low ball across goal found David Okagbue. The wing-back had the goal at his mercy but inexplicably lifted it over the top from two yards out.

With Town still struggling to get much going, on the hour mark Gunning opted for a triple change to bring on Charlie Austin, George McEachran, and Rushian Hepburn-Murphy to pose more of an attacking threat.

After a period of wrestling back control, this had the desired impact after 68 minutes when Blake-Tracy went driving forward from the back. He worked the ball out to Kokolo and an overlap from Hepburn-Murphy created space for a pass into Glatzel. He took a touch and unleashed a wonderful strike into the top corner to level.

The desperation from the hosts to find the all-important goal was creating space for Town’s pace in behind and first Zac Elbouzedi fired over the top and then Hepburn-Murphy picked out the roof of the net with a neat lob from a tight angle.

With time running out, a cross found the head of Jamille Matt and he nodded it down for Johnson to ruthlessly volley into the far corner of the net and give Walsall the win they desperately needed.

WFC starting XI: Evans, Okagbue, Daniels, Hutchinson, Foulkes, Gordon, Allen, Faal, Stirk, Tierney.

WFC substitutes: Barrett, Farquharson, Matt, Knowles, James-Taylor, Jellis, Johnson.

STFC starting XI: Bycroft, Blake-Tracy, Glatzel, Brewitt, Cain, Kokolo, Devoy, Drinan, McCarthy, McGregor.

STFC substitutes: Brann, McEachran, Elbouzedi, Hepburn-Murphy, Aguiar, Austin, Hunt.

Attendance: 4,709 (309 away).