The visitors also struck the woodwork but neither side impressed and City remain in the drop zone.
Kelvin Mellor returned at right-back after three games out with hamstring trouble as Bantams head coach Hopkin reverted to a flat back four. Central defender Nat Knight-Percival was ruled out by illness, while Huddersfield Town loanee Jack Payne had to settle for a place on the bench to accommodate the 4-4-2 system, George Miller partnering Eoin Doyle up front. Jordan Gibson got the nod on one flank with Sean Scannell on the other.
Bristol had former Bradford loanee Kyle Bennett, who made 18 appearances from Doncaster Rovers four years ago, on the bench.
Ed Upson hit against the post from the edge of the area and Tom Nichols sent a free header wide in the early stages for the visitors.
City almost took a 25th-minute lead when Tom Lockyer misjudged a long ball near halfway and Doyle raced towards the Kop and struck the ball against Jack Bonham’s right-hand post and saw it rebound into the goalkeeper’s arms.
Rovers captain Lockyer was then laid out in a clash of heads with Miller on halfway but he continued after treatment only to go down again eight minutes later and be replaced by Tom Broadbent in a straight swap.
Stuart Sinclair hit wide after racing onto a low cross from Joe Partington and Richard O’Donnell beat away a shot from Ollie Clarke before Jim O’Brien forced Bonham to paw the ball from under his bar with a cross-shot ahead of five minutes of goalless stoppage time.
Miller volleyed wide from Scannell’s chip early in the second half before Payne replaced Gibson.
There was no luck for City in the 65th minute when Scannell ran onto a diagonal ball into the area from Jim O’Brien and struck the post under pressure, the ball rebounding across to Doyle, whose follow-up from a tight angle was cleared off the line by Tony Craig, who appeared to handle.
City began to press but Miller was denied a goal by an offside flag before Doyle was replaced by David Ball.
Bonham punched away a free-kick from Payne but substitute Liam Sercombe twice went close for Rovers, seeing one shot blocked for a corner by Kelvin Mellor, from which Sercombe saw his low drive from outside the area pushed aside by O’Donnell for another.
Bonham matched that save with a right-handed block from the outstanding Scannell, who had again driven in from the right at the Rovers defence.
O’Donnell saved from substitute Alex Jakubiak in stoppage time as the game ended goalless.