City were denied an unbeaten end to the season as Birmingham City hung on for a priceless victory that secured their Sky Bet Championship status in BS3.
Ashton Gate’s biggest league crowd for 37 years saw their team fall behind to Che Adams’ 16th-minute goal.
Try as they might, City were unable to find the same fluency with which they had put to bed their own relegation fears with a run of 13 points from the last 15 on offer.
Lee Johnson was forced into his first change in team selection for six games, with goalkeeper Frank Fielding sidelined by a hamstring injury.
In came Fabian Giefer to take his place, while Max O’Leary joined fellow rookie Lloyd Kelly on the bench.
It was the visitors, still fighting for their Sky Bet Championship lives, who made the better start.
Che Adams forced a very early save from Giefer, diving to his left to tip away a curling effort, before racing away from Aden Flint to produce a low shot well held by the German stopper.
Then Lukas Jutkiewicz got his head to a left-wing cross, but the connection was too tame to trouble Giefer.
This was lively stuff, as news of a Blackburn Rovers goal at Brentford temporarily silenced the boisterous away supporters.
City responded well. Tammy Abraham found Josh Brownhill, who blazed over, before Jamie Paterson linked up with Korey Smith, whose cross was well controlled but scuffed into the arms of the keeper by Matty Taylor.
But Birmingham remained on top. Ryan Shotton’s cross was nodded wide at the far post in another let-off, before Adams struck the opener after 16 minutes.
Chasing a bouncing ball, Flint got back to hold him up but Adams was too clever, turning the big defender and slotting a low shot past Giefer to send the travelling fans into a frenzy.
The rhythm with which City have returned to winning ways in recent weeks was noticeably absent, as Birmingham continued to cause problems.
Adams took advantage of some hesitancy in the home defence to force Giefer into another save at his near post, while Jutkiewicz’s teasing cross needed emergency action from the sliding Bailey Wright, who was floored by a vicious shot from David Davis soon after.
Then Abraham of all people, back defending a corner, headed off his own goal-line as Blues peppered the City box.
Johnson’s men were showing flashes and there were still moments to get the bumper crowd excited.
Joe Bryan traded passes with Abraham and surged menacingly into the box to hit a low drive that flashed just beyond the far post, while Flint met Paterson’s corner with a thumping header that flew over.
The head coach would have wanted more from his team and did get a reaction after half-time.
Abraham shot wide from uncharacteristically long range, while Jacques Maghoma was booked for a dive 30 yards from his own goal to crank up the pressure on his team-mates.
Set-pieces began to rain down on the Birmingham box, as Flint saw another header deflected behind, while Josh Brownhill had City’s best chance to date but sidefooted the ball between the far post and the lurking Abraham.
By this time, Johnson had thrown on Lee Tomlin and Milan Djuric for Mark Little and Taylor and Blues were hanging on.
With results elsewhere still going against them, a City equaliser would be fatal for a nervous visiting team.
Callum O’Dowda was introduced for Paterson in a final throw of the dice, while Wright headed over from yet another corner.
With six added minutes to be played, it was agony for Harry Redknapp and assistant manager Steve Cotterill – not least when a game of pinball inside the box culminated in Flint blazing over from ten yards – but City could not find the goal Blackburn craved and Birmingham survived at Rovers’ expense.