Boss Mark Hughes had demanded a reaction from his side to last week’s 3-0 loss at Morecambe and dropped captain Richie Smallwood to the bench.
The Bantams claimed their second home win as Walker swept home Kevin McDonald’s cross just before half-time.
It was against the run of play as Crewe had controlled the first half. Bradford goalkeeper Harry Lewis saved well from Rio Adebisi, although referee Darren Drysdale then gave a goal-kick, and pushed away Connor O’Riordan’s flicked header right on the interval.
O’Riordan produced a well-timed challenge to deny Andy Cook his first goal of the season as Bradford upped the tempo to start the second half.
Harvey Davies prevented the home side extending their lead as he spread himself to block Alex Pattison’s burst into the penalty area.
Davies smothered substitute Matt Derbyshire’s shot in the nine minutes of added time and Lewis saved from Joel Tabiner to deny Crewe a late equaliser.