In July 1998, Whalley was sold to League One rivals Bradford City for £600,000. He made his Bradford debut against Stockport County on 8 August 1998, and scored his first goal for the club in a 4–2 league win at Portsmouth on 20 October 1998, making 52 appearances across all competitions during Bradford's promotion-winning 1998-1999 season. He played just 18 Premier League games the following season, but was part of the Bradford side that competed in Europe in the UEFA Intertoto Cup at the start of the 2000–2001 season, during which he also played 19 Premiership matches and three League Cup ties, scoring in two of the latter. After Bradford were relegated back to League One, Whalley played a further 25 games for the club before finishing the season with a seven-match loan spell at former club Crewe.
