Lyle Taylor sent Dan Bentley the wrong way from the spot to pull Nottingham Forest level
Lyle Taylor scored twice in injury time as Nottingham Forest stunned Bristol City and maintained their upward curve under new boss Steve Cooper.
Teenager Alex Scott's first senior goal looked to have earned City a first home win since January 26.
But Taylor levelled from the spot early in stoppage time after Nathan Baker felled Forest's Djed Spence.
And yet more drama followed as Taylor, unmarked at the back post, tapped in a loose ball to snatch an unlikely victory and extend the Robins' winless run at Ashton Gate to 17 matches.
- Relive Tuesday's EFL action
It left those in the stadium bewildered bar the delighted Forest fans in the Atyeo Stand, who did not have much to celebrate before Cooper's arrival last month.
However they have now won four and drawn one of the former Swansea manager's five games in charge.
Bristol City had the first big chance when Scott slotted wide with the goal at his mercy, though Forest went close when Brennan Johnson's low left-footed shot came back off the post.
Scott made amends for his earlier miss to give the hosts the lead, pouncing on the rebound after Forest keeper Brice Samba had saved Nahki Wells' shot.
Wells then saw Samba tip his shot on to the post - and that was to prove a key intervention.
Forest turned the game on its head with Taylor's late double, the winner coming after Joe Lolley's effort had been parried by Bristol City keeper Dan Bentley.
- Line-upsMatch StatsLive Text
Line-upsBristol City
Formation 3-1-4-2
1Bentley22Kalas5Atkinson17Baker6James19Tanner14Weimann36Scott3Dasilva9Martin21Wells
- 1Bentley22Kalas5Atkinson17Baker6James19Tanner14Weimann36ScottBooked at 66minsSubstituted forPalmerat 77'minutes3Dasilva9MartinSubstituted forMassengoat 66'minutes21WellsSubstituted forO'Dowdaat 83'minutes
Substitutes
- 2Simpson11O'Dowda12O'Leary15Bakinson16Pring42Massengo45Palmer
Nottm Forest
Formation 3-4-1-2
30Samba4Worrall3Figueiredo26McKenna2Spence22Yates37Garner15Lowe11Zinckernagel20Johnson7Grabban
- 30Samba4Worrall3FigueiredoSubstituted forMightenat 67'minutes26McKenna2Spence22Yates37Garner15Lowe11ZinckernagelSubstituted forLolleyat 77'minutes20Johnson7GrabbanSubstituted forTaylorat 81'minutes
Substitutes
- 1Horvath8Colback10Carvalho13Bong17Mighten23Lolley33Taylor
Referee:Steve MartinMatch StatsHome TeamBristol CityAway TeamNottm ForestPossessionHome34%Away66%ShotsHome9Away15Shots on TargetHome2Away6CornersHome1Away9FoulsHome7Away8Live TextPost update
Match ends, Bristol City 1, Nottingham Forest 2.
90'+5'Full Time
Second Half ends, Bristol City 1, Nottingham Forest 2.
90'+5'Post update
Foul by Lyle Taylor (Nottingham Forest).
90'+5'Post update
Nathan Baker (Bristol City) wins a free kick in the defensive half.
90'+2'goalGoal!
Goal! Bristol City 1, Nottingham Forest 2. Lyle Taylor (Nottingham Forest) right footed shot from very close range to the bottom right corner.
90'+2'Post update
Attempt saved. Joe Lolley (Nottingham Forest) right footed shot from the left side of the box is saved in the bottom right corner. Assisted by Alex Mighten.
90'+1'Post update
Goal! Bristol City 1, Nottingham Forest 1. Lyle Taylor (Nottingham Forest) converts the penalty with a right footed shot to the bottom left corner.
90'Post update
Penalty Nottingham Forest. Djed Spence draws a foul in the penalty area.
90'Post update
Penalty conceded by Nathan Baker (Bristol City) after a foul in the penalty area.
88'Post update
Corner, Nottingham Forest. Conceded by George Tanner.
87'Post update
Offside, Bristol City. Andreas Weimann tries a through ball, but Kasey Palmer is caught offside.
86'Post update
Attempt saved. Lyle Taylor (Nottingham Forest) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by James Garner.
83'Substitution
Substitution, Bristol City. Callum O'Dowda replaces Nahki Wells.
81'Substitution
Substitution, Nottingham Forest. Lyle Taylor replaces Lewis Grabban.
81'Post update
Attempt missed. Joe Lolley (Nottingham Forest) left footed shot from outside the box misses to the left. Assisted by James Garner.
77'Substitution
Substitution, Bristol City. Kasey Palmer replaces Alex Scott.
77'Substitution
Substitution, Nottingham Forest. Joe Lolley replaces Philip Zinckernagel.
74'Post update
Foul by Philip Zinckernagel (Nottingham Forest).
74'Post update
Alex Scott (Bristol City) wins a free kick in the attacking half.
73'Post update
Attempt blocked. Andreas Weimann (Bristol City) right footed shot from the right side of the box is blocked. Assisted by Matty James with a cross.
Page 1 of 5rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com