The Bantams were back at home for the first time of the 2015/16 campaign hosting League 1 new boys Shrewsbury Town in a very close encounter which Micky Mellons side fought hard for in front of the astonishing 18,039 attendance.
Bradford got things going early on as City's only scorer at Swindon Josh Morris came close with a free kick early on as Jayson Leutwiler tipped it over the bar for the Shropshire Side.
One of City's best chances of the game came as Alan Sheehan's neat flick for goal from a corner was saved by Leutwiler and Billy Clarke's effort on the rebound hit the side netting from close range
Billy Clarke did break the deadlock just before the break though, as his through ball to Steve Davies saw him cut it back into the box to Clarke, who fired past Goldson and Leutwiler to put the West Yorkshire 1-0 up for the half time interval.
Just seconds into the second half, Tyrone Barnett's determined run was finished with a bobbled strike over Williams as he came to collect it, the ball trickling over the line as the backtracking McArdle try to block the effort.
City looked to reply instantly, however, with a chance from Darby as goal scorer Clarke played him through in the box and his audacious effort was cleared off the line by Connor Goldson. Clarke was in the action again as the ball from Hanson found the little man's feet as he broke through the Shrews defence despite Goldson delaying his run by pulling him.
He got the box and no other options then to cut it wide to Morris who couldn't get there in time and was cleared by Matt Tootle.
It looked very late on as City we're going to get given a penalty as Paul Anderson was brought down in the box by Grandison. Despite the 18,000 crowd waving for a penalty , referee Gary Sutton thought otherwise and gave the away side the free kick.