City missed the chance to leapfrog fellow play-off hopefuls Huddersfield Town as they were beaten by the softest of goals in West Yorkshire.
City fell behind early to Elias Kachunga’s close-range header, but fought their way back into the contest to draw level before half-time through Tammy Abraham’s first goal in five games.
But the hosts began the second half on top and took advantage of a rare mistake from Frank Fielding, who had the ball stolen off his toes by Nahki Wells for the winner in the 58th minute.
Lee Johnson named an unchanged starting line-up following victory over Ipswich Town last time out, continuing with the orthodox 4-4-2 formation that served his team so well at Ashton Gate.
Huddersfield may have been on a five-match winless run, but the home side looked confident and dominated possession from the start.
Wells was off target with an early warning shot, slicing his attempted lob wide when put through by Kachunga.
But a boisterous home crowd would not have to wait long to see their team edge in front, as right-back Tommy Smith surged into the box and crossed for Kachunga to head home from six yards.
Smith was it again soon after with City having problems down that side, this time cutting the ball back for Wells, whose initial shot was blocked before his second attempt was held importantly by Fielding.
Somehow City had to find a foothold. For the time being, their most likely route back into the contest was via a set-piece.
Aden Flint has been getting closer in recent weeks but is still waiting for his first headed goal of the season.
It very nearly arrived midway through the first half when he connected powerfully with a Luke Freeman corner, only to see City’s first big chance sail inches wide.
When Freeman slid in late on Rajiv Van La Parra and went into the book, the visitors’ frustration was plain to see.
But by this point Huddersfield had lost some of their early momentum and were pegged back after 32 minutes.
City had looked dangerous from dead balls and were so again when Marlon Pack’s deep delivery from the right was kept alive by Flint, who just stretched himself enough to head the ball into the air.
As it came back down to earth, Aaron Wilbraham got there before goalkeeper Danny Ward to lay the ball on a plate for Abraham, who gleefully tucked in his 13th goal of the season.
Despite being on the front foot for the first time in the game, City were indebted to Fielding for remaining on level terms ten minutes later.
When Van La Parra took aim from 25 yards, the save was made far tougher by a deflection off Pack that left the keeper having to react late to repel the shot with a fine diving stop.
But rather than falling behind, City were cursing their luck not to be in front just before half-time when referee Keith Stroud bizarrely penalised Abraham as he was bearing down on goal.
With defender Michael Hefele in possession, Abraham stole in to dispossess him only to be called back for an alleged high foot despite making no contact with his opponent.
The striker’s studs were raised in order to toe the ball away from his opponent, but it’s rare to see such a challenge punished in the EFL and Johnson was left incensed by the decision.
Having ended the first half on top, City were faced with a much-improved home team after the break.
It would prove an eventful period for Fielding, who was booked within two minutes of the restart for handling the ball outside his area as the locals called for a card of a different colour.
But the keeper’s day was about to get worse when he was left red faced just shy of the hour, allowing the ball to get away from him with a heavy touch that prompted Wells to nip in and score easily.
Adam Matthews then made a crucial interception to prevent a dangerous Kachunga cross finding a blue and white shirt, before Abraham fired high and wide on the break.
Fielding made a decent stop to keep out Aaron Mooy’s fierce shot with Huddersfield chasing the killer third, prompting Johnson to make a double substitution.
Having already introduced Joe Bryan for Freeman, the head coach also threw on Gary O’Neil and Bobby Reid for Pack and Wilbraham.
Suddenly City were pushing for an equaliser. Scott Golbourne’s shot thundered against a defender when the ball fell his way invitingly in the box, before Reid sprinted down the right but could not pick out a cross from Abraham.
Five added minutes offered City time to salvage a result as Flint went up front, but Johnson’s men craved one big chance that never came.