Salomon Rondon scored the only goal as West Brom overcame a stubborn Bristol City at the second time of asking to reach the FA Cup fourth round.
The Baggies' record signing finished coolly from close range after chesting down a Craig Dawson cross in the box.
It was the one moment of quality during a game in which both sides wasted decent scoring opportunities
Tony Pulis' Premier League side will face League Two Peterborough at the Hawthorns in round four.
More to follow.
Full Time Match ends, Bristol City 0, West Bromwich Albion 1.
90:00 +3:13 Full timeFull Time Second Half ends, Bristol City 0, West Bromwich Albion 1.
90:00 +2:54Attempt missed. Craig Gardner (West Bromwich Albion) right footed shot from outside the box is close, but misses to the right.
90:00 +1:57Offside, West Bromwich Albion. Craig Dawson tries a through ball, but Rickie Lambert is caught offside.
90:00 +1:12Attempt missed. Luke Ayling (Bristol City) left footed shot from outside the box is high and wide to the left.
90:00 +1:09Attempt blocked. Luke Ayling (Bristol City) left footed shot from outside the box is blocked. Assisted by Bobby Reid.
90:00 +0:37Corner, Bristol City. Conceded by Sébastien Pocognoli.
89:34 SubstitutionSubstitution Substitution, West Bromwich Albion. Rickie Lambert replaces Victor Anichebe.
88:04Foul by Bobby Reid (Bristol City).
88:04Claudio Yacob (West Bromwich Albion) wins a free kick in the defensive half.
86:51 SubstitutionSubstitution Substitution, West Bromwich Albion. James Chester replaces Salomón Rondón.
85:00Attempt missed. Nathan Baker (Bristol City) header from the centre of the box misses to the right. Assisted by Marlon Pack with a cross following a set piece situation.
84:41 SubstitutionSubstitution Substitution, Bristol City. Kieran Agard replaces Scott Wagstaff.
84:10Bobby Reid (Bristol City) wins a free kick in the attacking half.
84:10Foul by Craig Gardner (West Bromwich Albion).
82:56Offside, West Bromwich Albion. Gareth McAuley tries a through ball, but Salomón Rondón is caught offside.
82:26Attempt saved. Nathan Baker (Bristol City) header from the centre of the box is saved in the centre of the goal. Assisted by Bobby Reid with a cross.
82:03Corner, Bristol City. Conceded by Ben Foster.
82:01Attempt saved. Wes Burns (Bristol City) right footed shot from a difficult angle on the right is saved in the bottom right corner. Assisted by Scott Wagstaff.
81:57Attempt missed. Aaron Wilbraham (Bristol City) right footed shot from very close range misses to the right.
Wes Burns (Bristol City) wins a free kick on the right wing.
78:51Foul by James McClean (West Bromwich Albion).
77:06 SubstitutionSubstitution Substitution, Bristol City. Luke Ayling replaces Mark Little.
76:15Attempt missed. Aaron Wilbraham (Bristol City) header from the centre of the box is too high. Assisted by Bobby Reid with a cross following a corner.
75:50Corner, Bristol City. Conceded by Gareth McAuley.
75:49Attempt blocked. Wes Burns (Bristol City) right footed shot from the right side of the box is blocked. Assisted by Mark Little.
75:10Max O'Leary (Bristol City) wins a free kick in the defensive half.
75:10Foul by Stéphane Sessegnon (West Bromwich Albion).
74:33Corner, West Bromwich Albion. Conceded by Aden Flint.
74:30Attempt blocked. James McClean (West Bromwich Albion) left footed shot from a difficult angle on the left is blocked.
65:39 SubstitutionSubstitution Substitution, Bristol City. Jonathan Kodjia replaces Luke Freeman.
65:06Foul by Mark Little (Bristol City).
65:06James McClean (West Bromwich Albion) wins a free kick in the attacking half.
61:16Foul by Wes Burns (Bristol City).
61:16Claudio Yacob (West Bromwich Albion) wins a free kick in the defensive half.
60:29Marlon Pack (Bristol City) wins a free kick in the defensive half.
60:29Foul by Victor Anichebe (West Bromwich Albion).
59:53Attempt missed. Aaron Wilbraham (Bristol City) header from very close range is too high. Assisted by Wes Burns with a cross.
56:51Attempt blocked. Stéphane Sessegnon (West Bromwich Albion) left footed shot from outside the box is blocked. Assisted by Victor Anichebe.
54:27Offside, West Bromwich Albion. Stéphane Sessegnon tries a through ball, but Salomón Rondón is caught offside.
54:00Luke Freeman (Bristol City) wins a free kick in the defensive half.
54:00Foul by Craig Gardner (West Bromwich Albion).
53:15Foul by Scott Wagstaff (Bristol City).
53:15Stéphane Sessegnon (West Bromwich Albion) wins a free kick in the defensive half.
51:57 Goal scoredGoal! Goal! Bristol City 0, West Bromwich Albion 1. Salomón Rondón (West Bromwich Albion) right footed shot from very close range to the bottom right corner. Assisted by Craig Dawson with a cross.
49:33Attempt missed. Sébastien Pocognoli (West Bromwich Albion) left footed shot from outside the box is close, but misses to the left from a direct free kick.
48:31Foul by Luke Freeman (Bristol City).
48:31Stéphane Sessegnon (West Bromwich Albion) wins a free kick in the attacking half.
45:00Second Half begins Bristol City 0, West Bromwich Albion 0.
45:00 +2:14 Half timeHalf Time First Half ends, Bristol City 0, West Bromwich Albion 0.
45:00 +1:33Attempt missed. Luke Freeman (Bristol City) left footed shot from outside the box is close, but misses to the right from a direct free kick.
45:00 +1:06 BookingBooking Claudio Yacob (West Bromwich Albion) is shown the yellow card.
44:41Bobby Reid (Bristol City) wins a free kick in the attacking half.
44:41Foul by Claudio Yacob (West Bromwich Albion).
40:41Attempt missed. Gareth McAuley (West Bromwich Albion) header from very close range is close, but misses the top right corner. Assisted by Craig Gardner following a set piece situation.
40:40Attempt missed. Craig Gardner (West Bromwich Albion) right footed shot from the centre of the box is close, but misses to the left following a set piece situation.
39:56Foul by Wes Burns (Bristol City).
39:56Sébastien Pocognoli (West Bromwich Albion) wins a free kick on the left wing.
38:14Attempt missed. Salomón Rondón (West Bromwich Albion) right footed shot from the centre of the box is close, but misses the top right corner. Assisted by James McClean with a headed pass.
35:04Foul by Luke Freeman (Bristol City).
35:04Victor Anichebe (West Bromwich Albion) wins a free kick in the attacking half.
33:42Attempt missed. James McClean (West Bromwich Albion) left footed shot from outside the box is high and wide to the left.
30:55Bobby Reid (Bristol City) wins a free kick in the defensive half.
30:55Foul by Claudio Yacob (West Bromwich Albion).
29:01Attempt missed. Craig Gardner (West Bromwich Albion) right footed shot from outside the box misses to the left. Assisted by James McClean.
28:42Foul by Wes Burns (Bristol City).
28:42Victor Anichebe (West Bromwich Albion) wins a free kick in the defensive half.
25:33Scott Wagstaff (Bristol City) wins a free kick in the defensive half.
25:33Foul by Stéphane Sessegnon (West Bromwich Albion).
23:40Attempt missed. Victor Anichebe (West Bromwich Albion) left footed shot from outside the box is close, but misses to the left.
22:01Attempt missed. Salomón Rondón (West Bromwich Albion) right footed shot from outside the box is close, but misses to the left. Assisted by Victor Anichebe with a headed pass.
21:24Attempt missed. Craig Gardner (West Bromwich Albion) left footed shot from outside the box is close, but misses to the left.
19:12Wes Burns (Bristol City) wins a free kick on the right wing.
19:12Foul by Sébastien Pocognoli (West Bromwich Albion).
18:08Aaron Wilbraham (Bristol City) wins a free kick in the attacking half.
18:08Foul by Jonny Evans (West Bromwich Albion).
16:29 SubstitutionSubstitution Substitution, West Bromwich Albion. Sébastien Pocognoli replaces Chris Brunt because of an injury.
15:31Delay over. They are ready to continue.
14:15Delay in match Chris Brunt (West Bromwich Albion) because of an injury.
13:37Attempt missed. Wes Burns (Bristol City) right footed shot from the right side of the box misses to the left. Assisted by Bobby Reid with a through ball.
12:49Attempt missed. Stéphane Sessegnon (West Bromwich Albion) right footed shot from outside the box misses to the left. Assisted by Claudio Yacob.
9:34Attempt saved. Luke Freeman (Bristol City) left footed shot from outside the box is saved in the top centre of the goal. Assisted by Aaron Wilbraham.
0:00First Half begins.
0:00Lineups are announced and players are warming up.
Live data and text provided by our data suppliers