Match ends, Wolverhampton Wanderers 3, Bristol City 1.
Wolves closed the gap on League One's automatic promotion places to two points with victory over Bristol City.
Nouha Dicko fired Wolves ahead with an angled left-foot shot but City levelled with Sam Baldock's penalty after James Henry pulled down Greg Cunningham.
The hosts were back in front when Dicko's cross-shot deflected in off visiting defender Derrick Williams.
And substitute Bakary Sako settled it with a fierce low left-footed first-time drive from 20 yards.
Victory means third-placed Wolves now trail leaders Brentford by four points and are two behind Leyton Orient, while Steve Cotterill's City side are second from bottom, three points from safety.
A minute's applause was held before the game to celebrate the career of Wolves legend and former England goalkeeper Bert Williams, who died on Sunday.
Bristol City began brightly and Bobby Reid forced an early save out of home keeper Aaron McCarey before Dicko, who had a spell on loan at Wolves last season before joining permanently from Wigan earlier this month, burst on to Lee Evans's pass and drilled powerfully past Elliot Parish.
Baldock's penalty deservedly levelled matters but the pace on Dicko's cross was too much for Williams, who could only turn the ball past his own keeper as Wolves went back in front just before half-time.
Jay Emmanuel-Thomas forced a full-length save from McCarey and fired a long-range free-kick narrowly wide as Bristol City searched for an equaliser before Sako fired in from another Evans pass.
VIEW FROM THE DRESSING ROOM
Bristol City manager Steve Cotterill told BBC Radio Bristol:
"There was nothing wrong with where we were and what we were doing, it was our selection.
"As disappointing as it is, we will continue to play like that. We've played that from the minute I came in the door and we will not change.
"They know that would be the disappointment of today and we will work to make sure this doesn't happen again."
- 26GolbourneBooked at 45mins
- 6BatthSubstituted forElokobiat 90+1'minutes
- 7HenrySubstituted forSakoat 68'minutes
- 35OsborneSubstituted forBurnsat 77'minutes
- 17CunninghamBooked at 41mins
- 34GillettBooked at 83minsSubstituted forPackat 88'minutes
- 14ReidSubstituted forBarnettat 80'minutes
- Nigel Miller
- Shots on Target
Second Half ends, Wolverhampton Wanderers 3, Bristol City 1.
Substitution, Wolverhampton Wanderers. George Elokobi replaces Danny Batth because of an injury.
Foul by Lee Evans (Wolverhampton Wanderers).
Aden Flint (Bristol City) wins a free kick in the attacking half.
Substitution, Bristol City. Marlon Pack replaces Simon Gillett.
Attempt missed. Bakary Sako (Wolverhampton Wanderers) left footed shot from the left side of the box is close, but misses to the left.
Sam Ricketts (Wolverhampton Wanderers) wins a free kick in the attacking half.
Foul by Simon Gillett (Bristol City).
Attempt missed. Lee Evans (Wolverhampton Wanderers) right footed shot from the centre of the box is too high.
Simon Gillett (Bristol City) is shown the yellow card.
Scott Golbourne (Wolverhampton Wanderers) wins a free kick on the right wing.
Foul by Simon Gillett (Bristol City).
Substitution, Bristol City. Tyrone Barnett replaces Bobby Reid.
Attempt missed. Nouha Dicko (Wolverhampton Wanderers) right footed shot from the right side of the six yard box is close, but misses to the left.
Corner, Bristol City. Conceded by Danny Batth.
Substitution, Bristol City. Wes Burns replaces Karleigh Osborne.
Goal! Wolverhampton Wanderers 3, Bristol City 1. Bakary Sako (Wolverhampton Wanderers) left footed shot from outside the box to the bottom right corner. Assisted by Lee Evans.
Corner, Wolverhampton Wanderers. Conceded by Elliot Parish.
Attempt saved. Kevin McDonald (Wolverhampton Wanderers) right footed shot from outside the box is saved in the top centre of the goal.