An unremarkable end to competitive football in front of the old East End saw City play out a goalless draw with relegation threatened Crewe Alexandra at Ashton Gate.
Chances were few and far between with neither team doing enough to merit more than a point apiece throughout the 90 minutes.
The best opportunity of all fell to the visitors’ Matt Tootle, who somehow fired wide in the closing stages with Crewe pushing for a priceless winner.
Steve Cotterill made two changes to his side who ran out comfortable victors at Stevenage on Easter Monday, recalling Jay Emmanuel-Thomas and Scott Wagstaff at the expense of Tyrone Barnett and Brendan Moloney.
The afternoon got underway with the traditional end of season awards, which saw Sam Baldock pick up the prize for Player of the Year and Derrick Williams named Young Player of the Year.
Perhaps fittingly, in the last game to be played in front of the old East End, City would break the usual habit by attacking the Atyeo Stand in the first half.
However, most of the early action was going on at the other end. First, right-back Tootle carried the ball diagonally across the City back four before shooting wide on his left foot.
Then Byron Moore’s cross had to be headed out under pressure by Greg Cunningham, before Uche Ikpeazu’s cutback looked just right for Mathias Pogba only for the winger to miss his kick completely from 12 yards.
However, it would not take long for City to take control. The midfield trio of Simon Gillett, Marlon Pack and Wade Elliott were bossing the possession, patiently probing for an opening.
Emmanuel-Thomas tried to unlock some stubborn Crewe resistance in his own unique style, but his backheel struck a defender at close quarters.
Elliott’s volley was another isolated eye-catching moment, but clear chances remained at a premium.
But the stakes were higher for the visitors, who arguably carried the greater threat.
Pogba headed narrowly wide from a Jon Guthrie corner and was on the receiving end of the chance of the match eight minutes before the interval when Ikpeazu picked him out with his back to goal on the six-yard line.
When Pogba turned and shot, Pack was perfectly placed to clear from his own goal line with Simon Moore beaten in the City goal.
It was an equally slow start to the second period, with City just lacking the spark that saw them climb into the top half for the first time all season at the start of the week.
Emmanuel-Thomas threatened ten minutes after the break with a fierce shot young keeper Ben Garratt did remarkably well to hold on to.
Slowly but surely City were improving, and should have made the breakthrough in the 65th minute when Gillett’s cross from the right looked just right for Baldock, only for the striker to fail to connect properly with his header eight yards out.
Cotterill introduced Wes Burns with 20 minutes to go and Martin Paterson shortly after, but the Railwaymen were proving a tough nut to crack, reluctant to give up a potentially big point in their quest to avoid the drop.
Ultimately, it would be the visitors who came closest when Tootle shot wide from eight yards after good work from Pogba.
Had he scored, Crewe’s destiny would have been assured going into the final day.
City’s focus, thankfully, is already on the future.