Joe Bryan grabbed a vital winner for Bristol City against fellow strugglers Shrewsbury at the Greenhous Meadow.

Jay Emmanuel-Thomas opened the scoring for the visitors with a powerful strike from distance, but Tamika Mkandawire equalised with a brilliant 30-yarder.

Centre-back Mkandawire then turned Sam Baldock's low cross into his own net, only for Paul Parry's well-placed header to level the scores once more.

But Bryan nodded past goalkeeper Joe Anyon to win the match for City.

The Robins, who secured back-to-back league victories for only the second time this season, moved up to 17th, three points clear of 21st-placed Stevenage.

Shrewsbury, meanwhile, now lie 23rd, having seen their three-match unbeaten run come to an end.

Shrewsbury Town manager Michael Jackson told BBC Radio Shropshire:

"It is disappointing, especially when the goals you give away are poor.

"I thought there was only one way the game was going to go when we got back in it at 2-2.

"It has been ups and downs all season, but we still have plenty of games left - they are coming quick and we have to be ready.

"I think we deserved at least a point today. We are lacking consistency, and once again it is down to fine margins and detail. That's the difference when it comes to games like this."

Bristol City manager Steve Cotterill told BBC Radio Bristol:

"At the end of the day there were some balls being put into our box, I think they were quite a direct team, and you have to be able to deal with it.

"When you do face a team like that as long as you do your job properly there shouldn't be a problem, it's normally when you've got clever players around you.

"I'm not saying they don't have clever players but it ended up being a direct game and as we see in the second half the wind picked up and that's been the bane of my life since I've been the manager of Bristol City.

"I was talking to the boys afterwards and they had said it was quite difficult to get out in the second half. You have to be very good with the ball, which we were at times - but not good enough at times."

Lineup, Bookings (1) & Substitutions (6)

Shrewsbury Town

  • 25 Anyon
  • 22 Woods
  • 03 Jacobson (Grandison - 89' )
  • 08 McAllister (Mendez-Laing - 83' )
  • 18 Goldson
  • 16 Mkandawire Booked
  • 11 Taylor
  • 29 Hall
  • 20 Storey (Atajic - 87' )
  • 10 Foley
  • 17 Parry

Substitutes

  • 01 Weale
  • 02 Grandison
  • 06 Winfield
  • 19 Mendez-Laing
  • 26 Atajic
  • 27 Mills
  • 31 Smith

Bristol City

  • 01 Fielding
  • 02 Moloney
  • 03 Williams
  • 34 Gillett
  • 05 Flint (Osborne - 70' )
  • 18 El-Abd
  • 08 Elliott
  • 19 Pearson (Pack - 66' )
  • 09 Baldock
  • 10 Emmanuel-Thomas
  • 15 Bryan (Cunningham - 79' )

Substitutes

  • 11 Wagstaff
  • 17 Cunningham
  • 21 Pack
  • 23 Barnett
  • 27 Burns
  • 32 Richards
  • 35 Osborne
Ref: Graham Horwood
Att: 6,069

Match Stats

Shots

14 7

On target

4 3

Corners

4 4

Fouls

6 14

Live Text Commentary

Full time

Full Time Match ends, Shrewsbury Town 2, Bristol City 3.

90:00 +5:17 Full time

Full Time Second Half ends, Shrewsbury Town 2, Bristol City 3.

90:00 +4:38

Corner, Shrewsbury Town. Conceded by Simon Gillett.

90:00 +2:28

Attempt missed. Connor Goldson (Shrewsbury Town) header from the centre of the box is too high.

90:00 +2:07

Corner, Shrewsbury Town. Conceded by Frank Fielding.

90:00 +1:52

Attempt saved. Asa Hall (Shrewsbury Town) header from the centre of the box is saved in the top centre of the goal.

90:00 +1:05

Bahrudin Atajic (Shrewsbury Town) wins a free kick in the defensive half.

90:00 +1:05

Foul by Adam El-Abd (Bristol City).

88:08 Substitution

Substitution Substitution, Shrewsbury Town. Jermaine Grandison replaces Joe Jacobson.

87:16

(Shrewsbury Town) wins a free kick in the attacking half.

87:16

Foul by Karleigh Osborne (Bristol City).

86:54

Corner, Bristol City. Conceded by Joe Jacobson.

86:44

Attempt blocked. Sam Baldock (Bristol City) right footed shot from a difficult angle on the right is blocked.

86:18 Substitution

Substitution Substitution, Shrewsbury Town. Bahrudin Atajic replaces Miles Storey.

85:35

Foul by Jon Taylor (Shrewsbury Town).

85:35

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

82:41

Attempt missed. Connor Goldson (Shrewsbury Town) header from the centre of the box is close, but misses to the left.

82:11 Substitution

Substitution Substitution, Shrewsbury Town. Nathaniel Mendez-Laing replaces David McAllister.

81:51

Sam Foley (Shrewsbury Town) wins a free kick in the defensive half.

81:51

Foul by Adam El-Abd (Bristol City).

80:38

Attempt missed. Asa Hall (Shrewsbury Town) left footed shot from outside the box misses to the left.

78:17 Substitution

Substitution Substitution, Bristol City. Greg Cunningham replaces Joe Bryan.

78:02

Attempt missed. Sam Foley (Shrewsbury Town) header from the right side of the six yard box is close, but misses to the right.

77:00

Sam Foley (Shrewsbury Town) wins a free kick in the defensive half.

77:00

Foul by Simon Gillett (Bristol City).

74:09

Attempt missed. Joe Jacobson (Shrewsbury Town) left footed shot from outside the box is high and wide to the left.

72:28

Attempt missed. Miles Storey (Shrewsbury Town) right footed shot from outside the box is just a bit too high.

70:30

Sam Foley (Shrewsbury Town) wins a free kick in the defensive half.

70:30

Foul by Marlon Pack (Bristol City).

69:32 Substitution

Substitution Substitution, Bristol City. Karleigh Osborne replaces Aden Flint because of an injury.

65:07 Substitution

Substitution Substitution, Bristol City. Marlon Pack replaces Stephen Pearson.

64:51

Attempt missed. Asa Hall (Shrewsbury Town) header from the centre of the box is too high.

62:47 Goal scored

Goal! Goal! Shrewsbury Town 2, Bristol City 3. Joe Bryan (Bristol City) header from the left side of the six yard box to the centre of the goal. Assisted by Jay Emmanuel-Thomas with a cross.

61:56

Corner, Bristol City. Conceded by Joe Jacobson.

60:43

Attempt missed. Derrick Williams (Bristol City) left footed shot from outside the box is close, but misses to the right from a direct free kick.

60:03

Stephen Pearson (Bristol City) wins a free kick in the defensive half.

59:46 Booking

Booking Tamika Mkandawire (Shrewsbury Town) is shown the yellow card.

59:43

Foul by Tamika Mkandawire (Shrewsbury Town).

59:11 Goal scored

Goal! Goal! Shrewsbury Town 2, Bristol City 2. Paul Parry (Shrewsbury Town) header from the centre of the box to the top right corner. Assisted by Miles Storey.

56:24

Attempt saved. Asa Hall (Shrewsbury Town) left footed shot from outside the box is saved in the centre of the goal.

54:34 Goal scored

Goal! Own Goal by Tamika Mkandawire, Shrewsbury Town. Shrewsbury Town 1, Bristol City 2.

51:06

Attempt saved. Wade Elliott (Bristol City) right footed shot from outside the box is saved in the centre of the goal.

45:29

Attempt missed. Jon Taylor (Shrewsbury Town) left footed shot from outside the box is just a bit too high.

45:00

Second Half begins Shrewsbury Town 1, Bristol City 1.

45:00 +1:01 Half time

Half Time First Half ends, Shrewsbury Town 1, Bristol City 1.

45:00 +0:02

Jon Taylor (Shrewsbury Town) wins a free kick in the defensive half.

45:00 +0:02

Foul by Joe Bryan (Bristol City).

43:13

Sam Foley (Shrewsbury Town) wins a free kick in the attacking half.

43:13

Foul by Simon Gillett (Bristol City).

40:43 Goal scored

Goal! Goal! Shrewsbury Town 1, Bristol City 1. Tamika Mkandawire (Shrewsbury Town) right footed shot from outside the box to the bottom left corner.

39:19

Connor Goldson (Shrewsbury Town) wins a free kick on the right wing.

39:19

Foul by Sam Baldock (Bristol City).

37:34

Attempt missed. Derrick Williams (Bristol City) header from the centre of the box is too high.

35:50

Jon Taylor (Shrewsbury Town) wins a free kick in the attacking half.

35:50

Foul by Wade Elliott (Bristol City).

35:11

Corner, Bristol City. Conceded by Connor Goldson.

33:20

Attempt blocked. Connor Goldson (Shrewsbury Town) header from the right side of the box is blocked.

32:52

Corner, Shrewsbury Town. Conceded by Wade Elliott.

28:13

Attempt missed. Wade Elliott (Bristol City) right footed shot from outside the box is just a bit too high.

24:29

Asa Hall (Shrewsbury Town) wins a free kick in the attacking half.

24:29

Foul by Wade Elliott (Bristol City).

18:17

Sam Baldock (Bristol City) wins a free kick in the defensive half.

18:17

Foul by Joe Jacobson (Shrewsbury Town).

17:24 Goal scored

Goal! Goal! Shrewsbury Town 0, Bristol City 1. Jay Emmanuel-Thomas (Bristol City) left footed shot from outside the box to the top right corner.

15:51

Foul by Tamika Mkandawire (Shrewsbury Town).

15:51

Joe Bryan (Bristol City) wins a free kick on the left wing.

13:26

Foul by Connor Goldson (Shrewsbury Town).

13:26

Aden Flint (Bristol City) wins a free kick in the attacking half.

12:36

Corner, Shrewsbury Town. Conceded by Derrick Williams.

11:45

Sam Foley (Shrewsbury Town) wins a free kick in the attacking half.

11:45

Foul by Simon Gillett (Bristol City).

9:39

Miles Storey (Shrewsbury Town) wins a free kick in the defensive half.

9:39

Foul by Simon Gillett (Bristol City).

9:07

Asa Hall (Shrewsbury Town) wins a free kick in the attacking half.

9:07

Foul by Brendan Moloney (Bristol City).

8:21

Corner, Bristol City. Conceded by Asa Hall.

6:13

Simon Gillett (Bristol City) wins a free kick in the defensive half.

6:13

Foul by Sam Foley (Shrewsbury Town).

3:44

Attempt missed. Jon Taylor (Shrewsbury Town) right footed shot from outside the box misses to the right.

1:39

Foul by Simon Gillett (Bristol City).

1:39

Miles Storey (Shrewsbury Town) wins a free kick in the defensive half.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers