West Brom's automatic promotion hopes suffered a setback as Bristol City scored two goals in four second-half minutes to secure their first Coca-Cola Championship win in seven games.
Graham Dorrans put the Baggies on course to leapfrog Nottingham Forest into second place when he fired home his 13th goal of the season in the first half at Ashton Gate.
But Chris Iwelumo's first goal since arriving on loan from Albion's arch-rivals Wolves restored parity early in the second half and minutes later manager's son Lee Johnson, who recently returned from a loan spell at Derby, turned the game on its head with his first goal of the season.
The victory moved Gary Johnson's side back into the top half of the table and eased fears that they would get sucked into a relegation battle.
It was a first defeat in 10 in all competitions for Albion, which leaves them one point behind Forest with a game and hand.
West Brom made a bright start but they were almost caught out after just four minutes when the impressive Danny Haynes showed a sharp turn of foot to outpace Joe Mattock and get a shot away which was tipped wide at the near post by Scott Carson.
Carson got down well to keep out a towering header from Iwelumo, who rose highest to meet a cross from full-back Bradley Orr.
But it was the visitors who took the lead 23 minutes in when City gave the ball straight to Gianni Zuiverloon, who spotted Dorrans' run from midfield and picked him out with a precise pass. The Scotland international steadied himself before firing a clinical right-foot finish in off the far post.
But the home side should have been level eight minutes before half-time when Johnson played in Haynes, but the former Ipswich man showed a lack of composure and fired wide with only Carson to beat.
The visitors were not to be denied and they were level nine minutes into the second half when Johnson's corner appeared to strike Louis Carey on the hand before falling nicely for Iwelumo, who slotted home from six yards out.
And Albion were stunned four minutes later when the home side took the lead, with Haynes embarking on a mazy run down the right flank and cutting the ball back for the unmarked Johnson, who arrived on cue to apply a simple finish from close range.
The Baggies should have been on level terms after 65 minutes when Bednar crossed for substitute Andwele Slory, who inexplicably fluffed his finish from inside the six-yard box with the goal gaping.
Haynes was giving Mattock a torrid time with his pace and he sped past the former Leicester man once again but Carson saved with his feet.
Albion pressed forward in a bid to salvage a point, but the Robins held firm for three precious points.
Copyright (c) PA Sport 2009, All Rights Reserved.