A humdinger of a match saw Chesterfield twice level, both times through Eoin Doyle, who is now on 15 for the season, but deep into stoppage time sub Wes Burns won it for the unbeaten league leaders.
City took just a minute to retake the lead. Bryan’s drive was deflected for a corner that, when delivered in, found the head of WILLIAMS to fire it home in classic style. Lee was unable to gather a shot in as City appealed for a penalty as the home crowd screamed.
Darikwa’s cross earned a corner but Johnson hit a little too hard. Just before the hour mark it was all square again. Darikwa broke down the right, played in Roberts whose switch back to the full back was superb. Darikwa delivered, the ball bobbled but DOYLE reacted to steer the ball home.
Lee made a stunning point blank save to deny Agard and Freeman hammered against the bar from 20 yards as City poured forwards.
Boco replaced Johnson and Clucas was booked for a foul. Ryan hit high from range as Spireites looked to ease the pressure. Banks came on for Roberts and soon forced a save from Fielding and Darikwa’s cross in after that was gratefully hacked away.
Burns headed high from a good position ahead of O’Shea replacing Ryan and Pack coming on for Agard. Clucas headed just wide as the game entered the final five minutes and an other goal looked a definite possibility.
Emmanuel-Thomas came on for Freeman. Little dragged well wide in stoppage time but then BURNS broke the hearts of the 599 travelling fans with a goal in the third minute of stoppage time.
Bristol City: Fielding, Ayling, Flint, Williams, Little, Elliott, Smith, Freeman, Bryan, Agard, Wilbraham. Subs: Richards, El-Abd, Cunningham, Wagstaff, Pack, Burns, Emmanuel-Thomas.
Chesterfield: Lee, Darikwa, Evatt, Margreitter, Jones, Morsy, Ryan, Clucas, Johnson, Roberts, Doyle. Subs: Wright, Gardner, Gnanduillet, O’Shea, Raglan, Boco, Banks.
Referee: Andy Davies (Hants).