A first-half penalty by Sam Baldock moved Bristol City up to 13th in League One while all but ending Walsall's slim hopes of making the play-offs.

Baldock hammered home his 23rd goal of the season after Andy Taylor fouled him needlessly in a corner of the box a minute from half-time.

The Saddlers should have equalised in the 57th minute when Greg Cunningham fouled Michael Ngoo in the area.

However, Sam Mantom's soft spot-kick was comfortably saved by Simon Moore.

Walsall boss Dean Smith told BBC WM:

"Unfortunately they've scored theirs and we've not scored ours - two weeks on the spin we feel aggrieved.

"When the penalty was missed - or saved - I think the players felt it mentally because they've been playing well.

"We've certainly promised an awful lot this season and we've made great strides again in terms of how we play.

"It's our duty to go and compete. We owe it to other teams and ourselves to make sure the season doesn't peter out."

Bristol City manager Steve Cotterill told BBC Radio Bristol:

"We haven't been as expansive as we have been and not quite as good as we have been - football-wise - in the first half.

"Sometimes you need to do that away from home and we've needed to do that today. I said earlier in the season I thought Walsall are a good team and I think they are.

"I think they are one of the best teams we've played and we knew coming here was going to be a tough game.

"We've had three tough games. Today we've got a tough three points, where a point would have probably been about right."

Lineup, Bookings (3) & Substitutions (6)

Walsall

  • 01 O'Donnell
  • 15 Chambers
  • 03 Taylor
  • 07 Chambers (Featherstone - 86' )
  • 12 Downing
  • 04 Butler
  • 30 Ngoo Booked (Bakayoko - 67' )
  • 08 Mantom
  • 29 Brandy
  • 25 Sawyers
  • 16 Baxendale (McQuilkin - 73' )

Substitutes

  • 02 Purkiss
  • 06 Featherstone
  • 13 Lewis
  • 14 Benning
  • 24 Hewitt
  • 26 McQuilkin
  • 27 Bakayoko

Bristol City

  • 30 Moore
  • 11 Wagstaff (Pearson - 89' )
  • 17 Cunningham Booked
  • 03 Williams
  • 35 Osborne Booked
  • 36 Nosworthy
  • 08 Elliott
  • 10 Emmanuel-Thomas (Barnett - 78' )
  • 09 Baldock
  • 24 Paterson (Moloney - 67' )
  • 21 Pack

Substitutes

  • 02 Moloney
  • 07 Kelly
  • 14 Reid
  • 19 Pearson
  • 23 Barnett
  • 27 Burns
  • 32 Richards
Ref: Nigel Miller
Att: 5,110

Match Stats

Shots

16 5

On target

5 3

Corners

5 4

Fouls

11 13

Live Text Commentary

Full time

Full Time Match ends, Walsall 0, Bristol City 1.

90:00 +4:25 Full time

Full Time Second Half ends, Walsall 0, Bristol City 1.

90:00 +2:59

Attempt blocked. Febian Brandy (Walsall) right footed shot from the left side of the box is blocked.

89:44

Attempt blocked. Amadou Bakayoko (Walsall) right footed shot from the left side of the box is blocked.

88:58 Substitution

Substitution Substitution, Bristol City. Stephen Pearson replaces Scott Wagstaff.

88:35

James McQuilkin (Walsall) wins a free kick in the defensive half.

88:35

Foul by Greg Cunningham (Bristol City).

86:52

Corner, Walsall. Conceded by Simon Moore.

86:41

Attempt saved. Nicky Featherstone (Walsall) right footed shot from outside the box is saved in the top right corner.

85:08 Substitution

Substitution Substitution, Walsall. Nicky Featherstone replaces Adam Chambers because of an injury.

82:34

Attempt saved. Tyrone Barnett (Bristol City) right footed shot from outside the box is saved in the bottom right corner.

81:32

Attempt saved. James McQuilkin (Walsall) right footed shot from outside the box is saved in the bottom right corner.

80:40

Foul by James Chambers (Walsall).

80:40

Greg Cunningham (Bristol City) wins a free kick in the attacking half.

77:54 Substitution

Substitution Substitution, Bristol City. Tyrone Barnett replaces Jay Emmanuel-Thomas.

77:30

Attempt missed. James McQuilkin (Walsall) left footed shot from outside the box is close, but misses to the right.

77:06

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

75:43

Corner, Bristol City. Conceded by James Chambers.

74:03

Attempt blocked. James Chambers (Walsall) right footed shot from outside the box is blocked.

72:33 Substitution

Substitution Substitution, Walsall. James McQuilkin replaces James Baxendale.

68:31

Delay in match Derrick Williams (Bristol City) because of an injury.

67:06

Foul by James Baxendale (Walsall).

67:06

Wade Elliott (Bristol City) wins a free kick in the attacking half.

66:37 Substitution

Substitution Substitution, Bristol City. Brendan Moloney replaces Martin Paterson.

66:06 Substitution

Substitution Substitution, Walsall. Amadou Bakayoko replaces Michael Ngoo.

65:37

Attempt missed. Febian Brandy (Walsall) right footed shot from outside the box is too high from a direct free kick.

64:48 Booking

Booking Karleigh Osborne (Bristol City) is shown the yellow card.

64:41

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

64:41

Foul by Karleigh Osborne (Bristol City).

63:22

Corner, Walsall. Conceded by Nyron Nosworthy.

60:42

Delay in match Nyron Nosworthy (Bristol City) because of an injury.

59:47

Attempt saved. Greg Cunningham (Bristol City) left footed shot from the centre of the box is saved in the bottom right corner.

59:26

Foul by Michael Ngoo (Walsall).

59:26

Derrick Williams (Bristol City) wins a free kick in the attacking half.

58:36

Attempt missed. Greg Cunningham (Bristol City) left footed shot from outside the box misses to the right.

57:33

Corner, Walsall. Conceded by Nyron Nosworthy.

56:51

Penalty saved! Sam Mantom (Walsall) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.

56:38 Booking

Booking Greg Cunningham (Bristol City) is shown the yellow card.

56:30

Penalty Walsall. Michael Ngoo draws a foul in the penalty area.

56:30

Penalty conceded by Greg Cunningham (Bristol City) after a foul in the penalty area.

54:40

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

54:40

Foul by Martin Paterson (Bristol City).

53:56

Adam Chambers (Walsall) wins a free kick in the attacking half.

53:56

Foul by Sam Baldock (Bristol City).

51:17

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

51:17

Foul by Wade Elliott (Bristol City).

47:51

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

47:51

Foul by Scott Wagstaff (Bristol City).

47:21

Attempt saved. Febian Brandy (Walsall) left footed shot from the left side of the box is saved in the centre of the goal.

45:00

Second Half begins Walsall 0, Bristol City 1.

45:00 +1:17 Half time

Half Time First Half ends, Walsall 0, Bristol City 1.

44:56 Goal scored

Goal! Goal! Walsall 0, Bristol City 1. Sam Baldock (Bristol City) converts the penalty with a right footed shot to the centre of the goal.

44:13

Penalty conceded by Andy Taylor (Walsall) after a foul in the penalty area.

44:13

Penalty Bristol City. Sam Baldock draws a foul in the penalty area.

41:34

Foul by Michael Ngoo (Walsall).

41:34

Nyron Nosworthy (Bristol City) wins a free kick on the left wing.

39:44

Foul by Nyron Nosworthy (Bristol City).

39:44

Febian Brandy (Walsall) wins a free kick on the left wing.

38:51

Foul by Martin Paterson (Bristol City).

38:51

Andy Taylor (Walsall) wins a free kick on the right wing.

37:56

Attempt missed. Sam Mantom (Walsall) right footed shot from outside the box is too high from a direct free kick.

37:12 Booking

Booking Michael Ngoo (Walsall) is shown the yellow card.

36:36

Foul by Scott Wagstaff (Bristol City).

36:36

Michael Ngoo (Walsall) wins a free kick on the left wing.

34:25

Greg Cunningham (Bristol City) wins a free kick in the defensive half.

34:25

Foul by Febian Brandy (Walsall).

34:01

Corner, Walsall. Conceded by Simon Moore.

33:43

Attempt saved. Sam Mantom (Walsall) right footed shot from outside the box is saved in the bottom left corner.

32:48

Foul by Marlon Pack (Bristol City).

32:48

Romaine Sawyers (Walsall) wins a free kick in the defensive half.

29:49

Corner, Bristol City. Conceded by Paul Downing.

28:34

Attempt missed. Romaine Sawyers (Walsall) left footed shot from outside the box is close, but misses to the left.

26:45

Corner, Bristol City. Conceded by Sam Mantom.

25:44

Scott Wagstaff (Bristol City) wins a free kick on the right wing.

25:44

Foul by Andy Taylor (Walsall).

23:31

Sam Baldock (Bristol City) wins a free kick on the left wing.

23:31

Foul by James Baxendale (Walsall).

22:29

Foul by James Baxendale (Walsall).

22:29

Scott Wagstaff (Bristol City) wins a free kick on the left wing.

17:41

Corner, Bristol City. Conceded by Andy Taylor.

16:27

Foul by Andy Taylor (Walsall).

16:27

Scott Wagstaff (Bristol City) wins a free kick in the attacking half.

13:16

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

12:13

Corner, Walsall. Conceded by Scott Wagstaff.

10:47

Hand ball by Marlon Pack (Bristol City).

9:18

Attempt missed. Sam Baldock (Bristol City) right footed shot from outside the box misses to the left.

7:00

Attempt missed. Michael Ngoo (Walsall) header from the centre of the box is just a bit too high.

5:26

Attempt missed. Sam Mantom (Walsall) right footed shot from outside the box is close, but misses to the right.

3:00

Scott Wagstaff (Bristol City) wins a free kick on the left wing.

2:58

Foul by Romaine Sawyers (Walsall).

0:46

Andrew Butler (Walsall) wins a free kick in the attacking half.

0:46

Foul by Sam Baldock (Bristol City).

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers