Wilson, from Cheltenham, Gloucestershire, played in the under-18 side that reached the quarter-final of the 2007 FA Youth Cup.[1][2] Before the 2007–08 season he signed his first one-year professional contract.[3] He made ten appearances for the reserve team and five for the Academy team that season,[4] after which he was given a further one-year contract.[5]

In the build-up to the 2008–09 season, Wilson was part of the first-team squad and, together with fellow youngsters Jordon Mutch and Sone Aluko, went on the club's pre-season tour to Austria. Manager Alex McLeish described him as "an energetic full-back ... one we think could make a career in football".[6] He was given a squad number and included among the substitutes for the Championship match against Crystal Palace in October 2008, but remained unused.[7] A week later, called into the matchday squad at the last minute when Garry O'Connor was injured during the pre-match warm-up, he made his first-team debut as a 12th-minute replacement for the injured Stuart Parnaby in a 1–0 defeat at Queens Park Rangers.[8]

Wilson joined Chesterfield of Football League Two in February 2009 on loan for the remainder of the 2008–09 season.[9] He appeared regularly for the club,[10] and in June 2009 signed a year's extension to his Birmingham contract.[11] In May 2010 the club announced that he would be released when his contract expired at the end of June.[12]

Wilson suffered relegation with Evesham at the end of the 2011–12 season but re-signed to remain with the club for the 2012–13 season where they would compete in the Southern League South & West Division.[16]