Born in Huddersfield, Drury played as a left back for Doncaster Rovers, Gainsborough Trinity, Sheffield Wednesday, Belper Town, and Bradford (Park Avenue). He retired at the age of 28 due to injury.
After retiring as a player, Drury worked for Bradford (Park Avenue) (as both assistant manager and then manager), and also as a coach at Boston United.
At Park Avenue, he was appointed manager in April 2015, replacing John Deacey. He left the club in March 2016, and was replaced by Darren Edmondson.
Drury joined Bradford City in 2016, initially working in their Academy. In July 2017 he became a full-time youth coach at the club, and in May 2018 he became Lead Development Coach for the club’s entire youth set-up.
He later worked as first-team coach under both Michael Collins and David Hopkin. In February 2019, after the resignation of Hopkin, Drury was appointed as the club’s caretaker manager. A few days later he appointed Paul Caddis as club captain, replacing Anthony O’Connor. Drury’s game in charge, on 2 March 2019, was a 5–1 away defeat against Portsmouth. After the game, Drury said that appointing a new permanent manager was a “matter of urgency”. Two days later, on 4 March 2019, Gary Bowyer was appointed as Bradford City manager until the end of the 2018–19 season. Drury was retained by the club as a coach. By August 2021 his role was ‘Senior Technical and Tactical Coach’.