Stuart McCall admitted Bradford City were not at their best after falling to only their fourth defeat of the season.
Freddy Ladapo’s goal just before half-time earned the Shrews all three points, firing home after Colin Doyle thwarted Louis Dodds.
McCall said: “I think there were too many players under par. We’ve said all season and we reiterated during the week, because we’ve put a couple of decent results together, it don’t necessarily mean you can go down to Shrewsbury and just turn up.
“They’re fighting for their lives, they showed it today, the work ethic. I think the first goal was going to be key. Obviously we made a mistake but we made a few of them in the first half, individual errors, wrong decisions.
“There’s not a lot in teams in this division, I keep saying that. Shrewsbury have lost one goal in the last seven home games, so when they get a goal ahead they’re always going to be difficult to break down.
“But we just didn’t have that bit of craft in all areas really.”