A late own-goal by the Gillingham player-manager, Andy Hessenthaler, gave Walsall their second victory in two days after the West Midlands team had failed to win a match since the opening day of the season.
Hessenthaler, whose introduction as a half-time substitute brought some urgency to his previously lacklustre team, inadvertently deflected an 84th-minute shot by the on-loan Southampton defender Chris Baird into his own net.
Gillingham's defeat was their first in five games but for Walsall, victory brought an encouraging climb up four places to 15th in the First Division.
They controlled the first half and took a 35th-minute lead through Pedro Matias, but after Wayne Brown had equalised from a disputed penalty after 54 minutes, it took the home side a while to regain their composure.
The home side's opening goal came, almost inevitably, through Paul Merson. When the ball was played back for Matias, the Spanish midfielder drilled a low, 25-yard shot just inside the near post.
The goal was the culmination of an intense period of Walsall pressure. After 15 minutes Merson, at the end of a fine passing movement, failed to get sufficient power into his shot and the visitors' goalkeeper, Bertram Bossu, saved easily, before seeing a Matias header flash over his bar shortly afterwards.
But the French keeper, making his League debut, was more severely tested in the 28th minute when Baird drove in a powerful 20-yard volley which Bossu saved spectacularly. Four minutes later, however, Bossu dropped a cross from Zigor Aranalde, but Merson hooked the loose ball over the bar.
Gillingham's first goal attempt of the evening came in first-half stoppage time, when the midfielder Gary Stiller sent a 20-yard drive narrowly over the bar. Then Hessenthaler's arrival inspired the visitors to draw level three minutes into the second half.
The referee, Fraser Stretton, awarded a controversial penalty when the winger David Perpetuini's cross struck the arm of Vinnie Samways.Brown, unruffled by Walsall's protests, found the corner of the net from the spot.
The Gills almost went ahead six minutes later when Mamady Sidibe acrobatically fired in an overhead shot which the goalkeeper, James Walker, caught on the line.
But Walsall gradually regained control and should have drawn level in the 71st minute as Merson crossed from the right but his strike partner, Jorge Leitao, well placed at the far post, headed wide of the inviting target.
Gillingham almost snatched a stoppage-time equaliser, the substitute Tommy Johnson having a low shot brilliantly turned aside at the far post.
Walsall (4-4-2): Walker; Baird, Emblen, Ritchie, Aranalde; Lawrence, Samways (Osborn, 80), O'Neill, Matias (Bazeley, 72); Merson (Birch, 88), Leitao.Substitutes not used: Kerr, Burton.
Gillingham (4-4-2): Bossu; Nosworthy, Hope, Cox, Brown; Stiller (Hessenthaler, h-t), Smith, Saunders, Perpetuini; Sidibe, Benjamin (T Johnson, 80). Substitutes not used: Hills, Ashby, L Johnson.
Referee: F Stretton (Nottinghamshire).Reuse content