Struggling Bolton recovered from a woeful start to claim a much-needed home win against Bristol City.
Wanderers, led by caretaker manager Jimmy Phillips for the first time, were forced to dig deep when Steven Davies volleyed City ahead before doubling their lead from the penalty spot.
Chris Eagles got the home side back in the game with a well-struck free-kick.
Jay Spearing equalised with a neat finish before Martin Petrov curled in the winner with eight minutes to go.
The win will be a huge boost for Bolton, who dispensed with the services of Owen Coyle 11 days ago following a poor run that had seen them claim just 10 points from 11 games in their first season since relegation from the Premier League.
The Trotters are still in the wrong half of the table but are heading in the right direction and now find themselves five points behind the play-off places.
They could not have got off to a worse start, though, Davies giving City the lead in just the third minute when he acrobatically volleyed in from Stephen Pearson's delivery following a short corner.
With their next meaningful attack, the Robins - without a win in four games heading into this match - earned a penalty when Martyn Woolford, running from left to right across the area, tumbled under a challenge from Tim Ream and Davies stroked home the spot kick.
It was Eagles - one of Bolton's survivors from last season's top-flight campaign - who gave the home side hope with a sweetly-struck free-kick after he had been felled on the edge of the box.
The goal rejuvenated Wanderers, who went close through Mark Davies, Petrov and Spearing before Spearing latched on to a neat through ball from Kevin Davies and finished coolly.
Petrov had the final say when he opened up his body to find the far corner after being played in down the right by good link-up play from Eagles and substitute Lee Chung-yong.
Bolton caretaker boss Jimmy Phillips: "It wasn't a good start, but the response of the players after that, to keep the ball down, to keep their nerve, was great.
"We knew that if we could up the tempo and move the ball a bit quicker, hopefully gaps would appear, and I think the two goals we did score in the second half were attractive pieces of football.
"We've had a week working with the players, we've put some different ideas to the players and the response has been fantastic. I think they have enjoyed the sessions."
Bristol City boss Derek McInnes: "The two-goal lead that we had was no more than we deserved. We nullified a lot of good players that Bolton possess, I thought we made them very anxious and nervous, and we had a real discipline, organisation and focus in that first period.
"We've been punished from a couple of midfield runs that we haven't done well enough to see off, but over the 90 minutes I thought we more than took part in the game against a good side.
"With the work we put in and the amount of good play we had - on another day that wins you points, but we've been undone."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The game is over, as the referee blows his whistle.90:00 +1:11
Unfair challenge on Brett Pitman by Stephen Warnock results in a free kick. Brett Pitman sends in a cross, Effort from deep inside the area by Sam Baldock misses to the right of the goal.90:00 +1:01
Kevin Davies is flagged offside by the assistant referee. Tom Heaton takes the free kick.89:59 Substitution
Substitution Darren Pratley replaces Martin Petrov.86:54 Booking
Booking Louis Carey booked for unsporting behaviour.86:40
Louis Carey concedes a free kick for a foul on Kevin Davies. Mark Davies takes the free kick.84:58 Substitution
Substitution Brett Pitman on for Martyn Woolford.84:36
Header by Sam Baldock from deep inside the penalty area misses to the right of the target.81:52
The assist for the goal came from Chris Eagles.81:52 Goal scored
Goal! - Martin Petrov - Bolton 3 - 2 Bristol C Martin Petrov finds the net with a goal from deep inside the penalty box to the top left corner of the goal. Bolton 3-2 Bristol City.79:59
Tyrone Mears concedes a free kick for a foul on Martyn Woolford. Martyn Woolford takes the free kick.79:14 Substitution
Substitution Chung-Yong Lee on for Benik Afobe.78:19
Benik Afobe takes a shot. Save made by Tom Heaton.76:17
Foul by Stephen Warnock on Ryan Taylor, free kick awarded. Direct strike on goal from the free kick comes in from Albert Adomah, Martin Petrov gets a block in.74:06
Louis Carey challenges Kevin Davies unfairly and gives away a free kick. Strike on goal comes in from Chris Eagles from the free kick.73:33
Jay Spearing fouled by Martyn Woolford, the ref awards a free kick. Matt Mills restarts play with the free kick.72:24
Corner taken by Martin Petrov, Stephen McManus fouled by Kevin Davies, the ref awards a free kick. Tom Heaton takes the indirect free kick.72:00
Martin Petrov takes a shot. Tom Heaton makes a save.71:26
Ryan Taylor is penalised for a handball. Adam Bogdan takes the indirect free kick.69:34
Unfair challenge on Ryan Taylor by Matt Mills results in a free kick. Ryan Taylor takes the free kick.
Sam Baldock takes a shot. Save made by Adam Bogdan.67:14
Corner taken left-footed by Martin Petrov from the right by-line to the near post, save by Tom Heaton.64:05
Kevin Davies takes a shot. Save by Tom Heaton.63:42
Chris Eagles takes a shot. Blocked by Liam Fontaine.62:31 Substitution
Substitution (Bristol City) makes a substitution, with Ryan Taylor coming on for Steven Davies.61:25
The assist for the goal came from Kevin Davies.61:25 Goal scored
Goal! - Jay Spearing - Bolton 2 - 2 Bristol C Jay Spearing finds the net with a goal from deep inside the penalty box to the bottom left corner of the goal. Bolton 2-2 Bristol City.59:33
Inswinging corner taken by Chris Eagles from the left by-line played to the near post, Stephen McManus manages to make a clearance.59:02
Corner taken by Martin Petrov from the right by-line to the near post, clearance made by Stephen McManus.58:38
Louis Carey concedes a free kick for a foul on Kevin Davies. Chris Eagles restarts play with the free kick.57:05
Martyn Woolford concedes a free kick for a foul on Mark Davies. Jay Spearing takes the free kick.55:53
Kevin Davies challenges Richard Foster unfairly and gives away a free kick. Tom Heaton takes the free kick.53:36
Unfair challenge on Benik Afobe by Louis Carey results in a free kick. Free kick crossed by Chris Eagles, Stephen McManus makes a clearance. Mark Davies takes a shot. Richard Foster manages to make a clearance.52:04
Benik Afobe is caught offside. Free kick taken by Tom Heaton.50:44
Jay Spearing takes a shot. Save by Tom Heaton.49:23
Steven Davies has an effort at goal from deep inside the area missing to the left of the goal.49:02
Effort on goal by Martin Petrov from 12 yards. Tom Heaton makes a save.47:51
Effort on goal by Mark Davies from deep inside the penalty area misses to the right of the target.46:37
Shot from just outside the box by Chris Eagles misses to the right of the target.46:16
Albert Adomah gives away a free kick for an unfair challenge on Kevin Davies. Free kick taken by Stephen Warnock.45:01
The referee gets the second half underway.45:00 +2:12 Half time
Half Time The ref blows to signal half-time.45:00 +0:24
Steven Davies produces a left-footed shot from outside the box and misses left.44:01
Outswinging corner taken by Chris Eagles, Kevin Davies challenges Stephen McManus unfairly and gives away a free kick. Tom Heaton takes the indirect free kick.43:23
Corner taken by Chris Eagles from the right by-line played to the near post, clearance by Stephen McManus.42:53
Corner taken by Martin Petrov from the left by-line played to the near post.42:33
Martin Petrov takes a shot. Blocked by Louis Carey.41:34
Corner taken left-footed by Steven Davies.41:09
Unfair challenge on Steven Davies by Mark Davies results in a free kick. Cole Skuse takes the indirect free kick.39:53
Martin Petrov delivers the ball from the free kick left-footed from left wing, clearance by Richard Foster.39:53 Booking
Booking Cole Skuse receives a yellow card for unsporting behaviour.39:42
Free kick awarded for a foul by Cole Skuse on Stephen Warnock.37:27
Jay Spearing gives away a free kick for an unfair challenge on Stephen Pearson. Indirect free kick taken by Louis Carey.36:14
A cross is delivered by Chris Eagles, Stephen McManus manages to make a clearance.33:25
Free kick awarded for a foul by Cole Skuse on Kevin Davies. Indirect free kick taken by Chris Eagles.32:55
Free kick awarded for a foul by Sam Baldock on Jay Spearing. Free kick taken by Adam Bogdan.31:45
Unfair challenge on Jay Spearing by Steven Davies results in a free kick. Jay Spearing takes the indirect free kick.30:22 Goal scored
Goal! - Chris Eagles - Bolton 1 - 2 Bristol C Chris Eagles hits the back of the net with a goal direct from the free kick from just outside the box to the bottom right corner of the goal. Bolton 1-2 Bristol City.29:22
Louis Carey gives away a free kick for an unfair challenge on Chris Eagles.27:36
Foul by Liam Fontaine on Tyrone Mears, free kick awarded. Chris Eagles restarts play with the free kick.27:23
Tyrone Mears sends in a cross, clearance made by Stephen McManus.24:45
Kevin Davies takes a shot from just inside the penalty box which clears the bar.22:38 Booking
Booking Booking for Stephen McManus for unsporting behaviour.22:25
Benik Afobe fouled by Stephen McManus, the ref awards a free kick. Free kick taken by Chris Eagles.20:11 Goal scored
Goal! - Steven Davies - Bolton 0 - 2 Bristol C Power penalty scored by Steven Davies. Bolton 0-2 Bristol City.18:50
Penalty awarded for a foul by Tim Ream on Martyn Woolford.12:38
Corner taken left-footed by Martin Petrov from the right by-line to the near post, clearance made by Stephen McManus.11:26
Foul by Stephen McManus on Benik Afobe, free kick awarded. Chris Eagles crosses the ball from the free kick right-footed from right wing, clearance by Louis Carey.10:02
A cross is delivered by Chris Eagles.7:53
Kevin Davies concedes a free kick for a foul on Louis Carey. Tom Heaton takes the indirect free kick.2:11
Stephen Pearson provided the assist for the goal.2:11 Goal scored
Goal! - Steven Davies - Bolton 0 - 1 Bristol C Steven Davies gets on the score sheet with a goal from deep inside the penalty box to the top left corner of the goal. Bolton 0-1 Bristol City.1:43
Short corner worked by Albert Adomah.1:02
Free kick awarded for an unfair challenge on Albert Adomah by Martin Petrov. Tom Heaton takes the indirect free kick.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers