Walsall keeper Richard O'Donnell saved a last-gasp Adam Rooney penalty as the Saddlers saw off Oldham Athletic to climb into the League One top six.

Oldham had the better of the first half, although the Saddlers hit the post through Andy Taylor's free-kick.

But Walsall improved in the second half, Sam Mantom sidefooting his team ahead on 65 minutes from 18 yards.

Latics' pressure was rewarded when Paul Downing felled James Wesolowski but Rooney's spot-kick was superbly saved.

Febian Brandy lasted 73 minutes on his return to Bescot following his loan move back to Walsall from Sheffield United, playing a part, along with Romaine Sawyers and Milan Lalkovic, in the build-up to Mantom's goal.

Walsall now face an even bigger home game on Saturday when they host League One leaders Brentford at Bescot.

VIEW FROM THE DRESSING ROOM

Walsall manager Dean Smith told BBC WM:

"There's been plenty of games when we've played well and not got the three points, so we'll take that tonight when we probably didn't deserve it.

"Sometimes you have to grind out a result. We were holding on at the end and had to man the gates.

"But it was a great penalty save by Richard O'Donnell and I'm really pleased for him. He's an improving keeper who works very hard at his game.

"Sam Mantom took his goal well. It was a good finish from a well-worked move. He's got goals in him."

Oldham manager Lee Johnson told BBC Radio Manchester:

"We didn't get what we deserved, but it was a superb performance from the boys.

"We can't legislate for some of the poor finishing. For some reason, the gods weren't smiling on us and we couldn't get the ball over the line.

"Their goalkeeper was a deserved man of the match. Sometimes keepers win you points and he's won them points.

"But if we keep playing like that, surely it will turn."

Lineup, Bookings (4) & Substitutions (5)

Walsall

  • 01 O'Donnell
  • 15 Chambers
  • 03 Taylor Booked
  • 08 Mantom
  • 04 Butler
  • 12 Downing
  • 29 Brandy (Hemmings - 74' )
  • 07 Chambers
  • 10 Westcarr (Hewitt - 88' )
  • 25 Sawyers
  • 09 Lalkovic

Substitutes

  • 02 Purkiss
  • 06 Featherstone
  • 11 Hemmings
  • 13 Lewis
  • 14 Benning
  • 16 Baxendale
  • 24 Hewitt

Oldham Athletic

  • 01 Oxley
  • 05 Kusunga Booked
  • 12 Mellor
  • 08 Smith
  • 03 Grounds Booked
  • 06 Tarkowski
  • 20 Petrasso (Clarke-Harris - 66' Booked )
  • 04 Wesolowski
  • 10 MacDonald (Harkins - 67' )
  • 27 Philliskirk (Rooney - 80' )
  • 19 Dayton

Substitutes

  • 02 Brown
  • 09 Rooney
  • 14 Clarke-Harris
  • 17 Rodgers
  • 18 Lockwood
  • 29 Rachubka
  • 30 Harkins
Ref: Fred Graham
Att: 3,522

Match Stats

Shots

10 11

On target

4 3

Corners

11 6

Fouls

13 5

Live Text Commentary

Full time

Full Time Match ends, Walsall 1, Oldham Athletic 0.

90:00 +5:59 Full time

Full Time Second Half ends, Walsall 1, Oldham Athletic 0.

90:00 +3:18

Penalty saved! Adam Rooney (Oldham Athletic) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.

90:00 +2:40 Booking

Booking Andy Taylor (Walsall) is shown the yellow card.

90:00 +2:21

Penalty Oldham Athletic. James Wesolowski draws a foul in the penalty area.

90:00 +2:21

Penalty conceded by Paul Downing (Walsall) after a foul in the penalty area.

90:00 +1:47 Booking

Booking Johnson Clarke-Harris (Oldham Athletic) is shown the yellow card.

90:00 +1:23

Attempt missed. Johnson Clarke-Harris (Oldham Athletic) header from the centre of the box is too high.

90:00 +0:51

James Wesolowski (Oldham Athletic) wins a free kick in the defensive half.

90:00 +0:51

Foul by Ashley Hemmings (Walsall).

89:15

Attempt saved. Andy Taylor (Walsall) right footed shot from outside the box is saved in the centre of the goal.

87:36 Substitution

Substitution Substitution, Walsall. Troy Hewitt replaces Craig Westcarr.

86:53

Attempt missed. Adam Rooney (Oldham Athletic) right footed shot from the centre of the box misses to the right.

84:19

Corner, Oldham Athletic. Conceded by James Chambers.

84:07

Attempt blocked. James Dayton (Oldham Athletic) right footed shot from the left side of the box is blocked.

83:27

Foul by Sam Mantom (Walsall).

83:27

James Wesolowski (Oldham Athletic) wins a free kick in the attacking half.

79:43 Substitution

Substitution Substitution, Oldham Athletic. Adam Rooney replaces Danny Philliskirk.

77:37

Attempt saved. Gary Harkins (Oldham Athletic) right footed shot from outside the box is saved in the centre of the goal.

77:09

Foul by James Chambers (Walsall).

77:09

Johnson Clarke-Harris (Oldham Athletic) wins a free kick in the defensive half.

73:24

Attempt missed. Danny Philliskirk (Oldham Athletic) right footed shot from outside the box is too high from a direct free kick.

73:06 Substitution

Substitution Substitution, Walsall. Ashley Hemmings replaces Febian Brandy.

71:06

Foul by Adam Chambers (Walsall).

71:06

Johnson Clarke-Harris (Oldham Athletic) wins a free kick in the defensive half.

70:19

Attempt saved. Romaine Sawyers (Walsall) right footed shot from the left side of the box is saved in the centre of the goal.

69:22 Booking

Booking Genséric Kusunga (Oldham Athletic) is shown the yellow card.

67:06

Foul by Febian Brandy (Walsall).

67:06

James Wesolowski (Oldham Athletic) wins a free kick in the attacking half.

66:09 Substitution

Substitution Substitution, Oldham Athletic. Gary Harkins replaces Charlie MacDonald.

65:57 Substitution

Substitution Substitution, Oldham Athletic. Johnson Clarke-Harris replaces Michael Petrasso.

64:47 Goal scored

Goal! Goal! Walsall 1, Oldham Athletic 0. Sam Mantom (Walsall) right footed shot from the centre of the box to the bottom left corner.

62:42 Booking

Booking Jonathan Grounds (Oldham Athletic) is shown the yellow card.

62:36

Sam Mantom (Walsall) wins a free kick in the defensive half.

62:36

Foul by Jonathan Grounds (Oldham Athletic).

61:35

Corner, Oldham Athletic. Conceded by Sam Mantom.

61:18

Attempt blocked. Danny Philliskirk (Oldham Athletic) right footed shot from the right side of the six yard box is blocked.

61:01

James Dayton (Oldham Athletic) hits the bar with a right footed shot from outside the box from a direct free kick.

60:00

Korey Smith (Oldham Athletic) wins a free kick in the defensive half.

59:57

Foul by Sam Mantom (Walsall).

59:08

Foul by Adam Chambers (Walsall).

59:08

Korey Smith (Oldham Athletic) wins a free kick in the attacking half.

58:19

Foul by Andrew Butler (Walsall).

58:19

James Tarkowski (Oldham Athletic) wins a free kick in the attacking half.

57:52

Corner, Walsall. Conceded by Genséric Kusunga.

57:29

Febian Brandy (Walsall) wins a free kick in the attacking half.

57:29

Foul by James Wesolowski (Oldham Athletic).

52:53

Corner, Walsall. Conceded by James Tarkowski.

52:40

Attempt blocked. Paul Downing (Walsall) right footed shot from the centre of the box is blocked.

52:13

Corner, Walsall. Conceded by David Mellor.

51:57

Attempt saved. Paul Downing (Walsall) header from the centre of the box is saved in the centre of the goal.

51:33

Corner, Walsall. Conceded by James Wesolowski.

45:00

Second Half begins Walsall 0, Oldham Athletic 0.

45:00 +0:49 Half time

Half Time First Half ends, Walsall 0, Oldham Athletic 0.

39:48

Attempt blocked. Charlie MacDonald (Oldham Athletic) right footed shot from outside the box is blocked.

38:39

Corner, Walsall. Conceded by Jonathan Grounds.

38:28

Attempt blocked. Andy Taylor (Walsall) right footed shot from outside the box is blocked.

38:18

Corner, Walsall. Conceded by James Tarkowski.

37:45

Attempt blocked. Sam Mantom (Walsall) right footed shot from outside the box is blocked.

37:28

Attempt blocked. Andrew Butler (Walsall) right footed shot from the centre of the box is blocked.

36:53

Corner, Walsall. Conceded by James Wesolowski.

35:51

Corner, Walsall. Conceded by James Tarkowski.

35:10

Corner, Walsall. Conceded by Danny Philliskirk.

33:23

Danny Philliskirk (Oldham Athletic) wins a free kick in the attacking half.

33:23

Foul by Adam Chambers (Walsall).

32:54

Andy Taylor (Walsall) hits the bar with a left footed shot from outside the box from a direct free kick.

32:02

Foul by David Mellor (Oldham Athletic).

32:02

Febian Brandy (Walsall) wins a free kick in the attacking half.

30:18

Corner, Walsall. Conceded by Jonathan Grounds.

29:28

Attempt missed. Craig Westcarr (Walsall) right footed shot from outside the box is too high.

28:20

Foul by Michael Petrasso (Oldham Athletic).

28:20

Andy Taylor (Walsall) wins a free kick in the attacking half.

24:15

James Dayton (Oldham Athletic) wins a free kick in the defensive half.

24:15

Foul by Paul Downing (Walsall).

23:39

Danny Philliskirk (Oldham Athletic) wins a free kick in the defensive half.

23:39

Foul by Milan Lalkovic (Walsall).

20:44

Corner, Oldham Athletic. Conceded by James Chambers.

19:11

Michael Petrasso (Oldham Athletic) wins a free kick in the attacking half.

19:11

Foul by Milan Lalkovic (Walsall).

18:02

Corner, Oldham Athletic. Conceded by Andrew Butler.

9:19

Attempt saved. Charlie MacDonald (Oldham Athletic) left footed shot from the centre of the box is saved in the centre of the goal.

8:33

Corner, Oldham Athletic. Conceded by Paul Downing.

8:20

Attempt blocked. James Dayton (Oldham Athletic) right footed shot from outside the box is blocked.

6:45

Foul by James Tarkowski (Oldham Athletic).

6:45

Febian Brandy (Walsall) wins a free kick in the defensive half.

5:51

Corner, Walsall. Conceded by James Wesolowski.

5:05

Corner, Oldham Athletic. Conceded by Andrew Butler.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers