Chris McCann's late goal made it two wins out of two for Burnley caretaker-manager Terry Pashley.
McCann headed home in the sixth minute of stoppage time after Paul Anderson looked to have saved a point for City.
Charlie Austin scored Burnley's first two goals, the second a penalty, to take his season's tally to 18.
Steven Davies equalised the first, but Austin and Martin Paterson made it 3-1 before Sam Baldock netted a penalty to begin the home side's comeback.
Austin's double saw him equal a club record, as he became the first player to score in eight successive Burnley appearances since Ray Pointer in 1958/59.
The striker opened the scoring at Ashton Gate in the ninth minute, latching on to McCann's lofted pass and going round keeper Tom Heaton to score.
But the lead did not last long, as Davies arched a free-kick over the wall and in after he had been fouled by Michael Duff just outside the penalty area.
Davies then fired another free-kick over before Paterson, promoted from the bench when Ross Wallace suffered an injury in the warm-up, turned Austin's deep cross too close to Heaton.
Paterson was a central figure, however, as Burnley struck twice in two minutes around the hour mark to take a 3-1 lead.
First he earned a penalty when his header from a Junior Stanislas cross struck Mark Wilson on the hand, and Austin converted it for his 14th goal in eight matches.
Then Paterson's back-post effort from McCann's cross took a deflection off Richard Foster to leave Heaton helpless.
City were handed a lifeline inside the final quarter of an hour when Duff fouled Stephen McManus from Wilson's corner and Baldock slammed the penalty into the centre of the goal.
Then Albert Adomah fired a free-kick against the underside of the bar to leave Anderson with a simple finish.
But there was still time for McCann to condemn Bristol City to a third straight defeat when he headed home Kieran Trippier's set-piece.
Bristol City manager Derek McInnes:
"We can't defend like that and hope to achieve anything. We couldn't defend a cross into our box at the death which was very disappointing. A number of injuries have left us without much height to defend set-pieces, but we have to do better.
"I should be talking about a storming comeback and giving the lads credit for showing great spirit, but it's hard to do that when you have lost the game.
"We have been put through the mixer tonight and so have our fans. But there is another home game against Hull on Saturday and we have to respond."
Burnley caretaker-manager Terry Pashley on Charlie Austin:
"I've only worked with the lad for a week, but he is a breath of fresh air. Apart from his goals, Charlie is a total team player.
On his own future:
"I don't expect anything except to carry on doing the job the board have asked me to do for as long as they want.
"I am enjoying working with the first team and it's great to be involved in the atmosphere of Championship games. But the board will make the best decision for Burnley."
- 01 Heaton
- 02 Foster
- 03 Wilson
- 04 Fontaine (Carey - 55' )
- 19 McManus
- 26 Bryan (Anderson - 64' )
- 14 Skuse
- 20 Morris
- 27 Adomah
- 07 Baldock
- 16 Davies (Taylor - 64' )
- 22 Gerken
- 06 Carey
- 12 Wilson
- 21 Anderson
- 10 Pitman
- 18 Taylor
- 01 Grant
- 02 Trippier
- 04 Duff Booked
- 05 Shackell
- 36 Mee Booked
- 06 McCann Booked
- 08 Marney
- 11 Stanislas (Stewart - 87' )
- 22 Stock Booked
- 10 Paterson (Ings - 78' )
- 23 Austin (Vokes - 90' )
- 12 Jensen
- 15 Edgar
- 16 O'Neill
- 18 Mills
- 19 Stewart
- 09 Vokes
- 14 Ings
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +5:32
Assist by Kieran Trippier.90:00 +5:32 Goal scored
Goal! - Chris McCann - Bristol C 3 - 4 Burnley Chris McCann grabs a headed goal from inside the six-yard box. Bristol City 3-4 Burnley.90:00 +4:58
Jody Morris concedes a free kick for a foul on Sam Vokes. Kieran Trippier sends in a cross,90:00 +3:11
Sam Baldock takes a shot. Save made by Lee Grant.90:00 +2:42
Inswinging corner taken from the left by-line by Kieran Trippier.90:00 +2:00
Richard Foster concedes a free kick for a foul on Cameron Stewart. Kieran Trippier delivers the ball from the free kick right-footed from right wing, Mark Wilson makes a clearance.90:00 +1:24 Substitution
Substitution Charlie Austin goes off and Sam Vokes comes on.90:00 +0:33
Assist on the goal came from Albert Adomah.90:00 +0:33 Goal scored
Goal! - Paul Anderson - Bristol C 3 - 3 Burnley Paul Anderson finds the net with a goal from inside the area to the bottom left corner of the goal. Bristol City 3-3 Burnley.88:49
Brian Stock gives away a free kick for an unfair challenge on Albert Adomah. Albert Adomah has an effort direct from the free kick.86:01 Substitution
Substitution Junior Stanislas leaves the field to be replaced by Cameron Stewart.86:01
Paul Anderson produces a cross, Header by Ryan Taylor from deep inside the penalty area misses to the left of the target.83:32
Chris McCann is caught offside. Indirect free kick taken by Tom Heaton.83:00 Booking
Booking Ben Mee receives a yellow card.82:49
Dean Marney takes a shot. Blocked by Richard Foster. Junior Stanislas takes a outswinging corner to the near post, clearance by Paul Anderson.81:26
Albert Adomah fouled by Ben Mee, the ref awards a free kick. Mark Wilson crosses the ball from the free kick right-footed from right wing.81:02
Cole Skuse fouled by Chris McCann, the ref awards a free kick. Cole Skuse takes the direct free kick.80:07
Mark Wilson crosses the ball from the free kick right-footed from right wing, clearance by Dean Marney.80:07 Booking
Booking Chris McCann receives a yellow card.
Foul by Chris McCann on Albert Adomah, free kick awarded.77:24 Substitution
Substitution Martin Paterson goes off and Danny Ings comes on.76:35 Goal scored
Goal! - Sam Baldock - Bristol C 2 - 3 Burnley Placed penalty scored by Sam Baldock. Bristol City 2-3 Burnley.75:08
Inswinging corner taken by Mark Wilson, Michael Duff gives away a Penalty for an unfair challenge on Stephen McManus.73:07
Inswinging corner taken by Mark Wilson from the left by-line, clearance made by Martin Paterson.69:10
Headed effort from inside the area by Albert Adomah misses to the right of the goal.67:40
Free kick awarded for an unfair challenge on Brian Stock by Paul Anderson. Direct free kick taken by Brian Stock.64:50
Louis Carey challenges Junior Stanislas unfairly and gives away a free kick. The ball is crossed by Junior Stanislas, Chris McCann has a headed effort at goal from close in which goes wide right of the goal.63:54 Substitution
Substitution Paul Anderson is brought on as a substitute for Joe Bryan.63:54 Substitution
Substitution Steven Davies goes off and Ryan Taylor comes on.61:48
Cole Skuse produces a right-footed effort from long distance that goes harmlessly over the bar.59:55
Chris McCann provided the assist for the goal.59:55 Goal scored
Goal! - Martin Paterson - Bristol C 1 - 3 Burnley Martin Paterson scores a goal from inside the area to the bottom right corner of the goal. Bristol City 1-3 Burnley.58:08 Goal scored
Goal! - Charlie Austin - Bristol C 1 - 2 Burnley Penalty taken right-footed by Charlie Austin and scored. Bristol City 1-2 Burnley.57:11
Mark Wilson is penalised for a handball.52:27
Indirect free kick taken by Tom Heaton.52:27 Substitution
Substitution Liam Fontaine leaves the field to be replaced by Louis Carey.52:27
The referee blows for offside against Jason Shackell.51:08
Jody Morris takes a shot. Lee Grant makes a save.50:56
Short corner taken by Steven Davies from the right by-line.50:41
Steven Davies takes a inswinging corner from the right by-line played to the near post, clearance made by Charlie Austin.50:24
Steven Davies takes a shot. Blocked by Michael Duff.49:07
Sam Baldock is flagged offside by the assistant referee. Michael Duff takes the direct free kick.45:01
The referee gets the second half underway.45:00 +2:20
Outswinging corner taken by Junior Stanislas, Jason Shackell takes a shot. Tom Heaton makes a save.40:54 Half time
Half Time The referee calls an end to the first half.39:54
Junior Stanislas fouled by Mark Wilson, the ref awards a free kick. Shot comes in from Junior Stanislas from the free kick.34:26
Effort on goal by Liam Fontaine from just inside the penalty area goes harmlessly over the target.33:42
Free kick awarded for an unfair challenge on Cole Skuse by Brian Stock. Cole Skuse restarts play with the free kick.33:42 Booking
Booking Brian Stock is shown a yellow card.33:02
Martin Paterson takes a shot. Save by Tom Heaton.30:57
Steven Davies takes a shot. Jason Shackell gets a block in.28:25
Ben Mee challenges Albert Adomah unfairly and gives away a free kick. The free kick is swung in left-footed by Steven Davies, Charlie Austin manages to make a clearance.27:08
Foul by Albert Adomah on Brian Stock, free kick awarded. Direct free kick taken by Jason Shackell.25:27
Short corner taken by Albert Adomah from the left by-line.24:36
Chris McCann gives away a free kick for an unfair challenge on Albert Adomah. Mark Wilson takes the direct free kick.23:58
Dean Marney takes a shot. Tom Heaton makes a save.22:40
Junior Stanislas has an effort at goal from just inside the box that misses to the right of the target.20:54
Direct strike on goal from the free kick comes in from Steven Davies.20:54 Booking
Booking Michael Duff booked for unsporting behaviour.20:34
Michael Duff challenges Sam Baldock unfairly and gives away a free kick.18:04
Dean Marney fouled by Jody Morris, the ref awards a free kick. Free kick taken by Junior Stanislas.16:41 Goal scored
Goal! - Steven Davies - Bristol C 1 - 1 Burnley Steven Davies hits the back of the net with a goal direct from the free kick from outside the area to the top left corner of the goal. Bristol City 1-1 Burnley.15:29
Michael Duff gives away a free kick for an unfair challenge on Steven Davies.12:45
The referee blows for offside against Steven Davies. Lee Grant restarts play with the free kick.11:45
Brian Stock concedes a free kick for a foul on Albert Adomah. Free kick taken by Mark Wilson.8:43
Chris McCann provided the assist for the goal.8:43 Goal scored
Goal! - Charlie Austin - Bristol C 0 - 1 Burnley Goal scored by Charlie Austin from inside the penalty box low into the middle of the goal. Bristol City 0-1 Burnley.8:18
Shot from 35 yards by Cole Skuse missed to the left of goal.7:59
Brian Stock concedes a free kick for a foul on Steven Davies. Free kick taken by Albert Adomah.4:44
Charlie Austin fouled by Liam Fontaine, the ref awards a free kick. Junior Stanislas delivers the ball from the free kick right-footed from left wing, clearance by Joe Bryan.3:08
Brian Stock concedes a free kick for a foul on Cole Skuse. Mark Wilson restarts play with the free kick.0:00
The game kicks-off.
Live data and text provided by our data suppliers