West Ham United Hall began his career with
West Ham United in 2001 and signed his first professional contract in October 2010. Hall was given squad number 46 for the
2011–12 season and was an unused
substitute for West Ham's
League Cup defeat by
Aldershot Town in August 2011.
Oxford United (loan) In September he signed a one-month loan deal with
Oxford United, later extended by a further month. He made his debut on 13 September against
Dagenham & Redbridge, scoring the only goal in a 1–0 victory, the first of six goals in his ten appearances in all competitions. West Ham recalled Hall on 31 October as cover for injured players. He did not, however, feature for them and returned to Oxford on a one-month loan on 16 November. Hall played four games for Oxford during his second loan spell, without scoring, before being recalled by West Ham on 21 December. He made his West Ham debut on 31 December in a 2–1 away defeat to
Derby County, coming on in the 79th minute as a substitute for
Papa Bouba Diop.
Milton Keynes Dons (loan) In March 2012 Hall signed on loan for
League One club
Milton Keynes Dons until the end of the 2011–12 season. He was West Ham's Academy Player of the Season for 2011–12. Hall played once for West Ham in the
Premier League and twice in the League Cup in the 2012–13 season before joining Championship club
Birmingham City on loan in November.
Birmingham City (loan) Hall made his Birmingham debut away at
Derby County. After an hour, he made a pacy run down the centre and was fouled as he entered the penalty area.
Marlon King converted the penalty for Birmingham's equaliser, but they lost 3–2. He provided the
assists for both of
Curtis Davies's goals in the 2–1 defeat of
Barnsley in December. West Ham declined to allow Hall to play for Birmingham in the FA Cup, but were prepared to extend his loan for a further month, to be reviewed on a monthly basis. He made seven assists from thirteen Championship appearances before returning to West Ham for assessment of a groin problem, and underwent surgery on a
hernia a few days before his loan formally ended on 16 March.
Bolton Wanderers On 28 March 2013, he was loaned out by West Ham again, this time for a month initially to link up with
Bolton Wanderers. He made only one appearance, starting against
Blackpool in a 2–2 draw on the last day of the season. He started the game but was replaced by substitute
Marvin Sordell after 37 minutes when Bolton were 2–0 down. After his contract at West Ham expired, Hall signed for Bolton permanently on 1 July 2013, signing a three-year contract. In August 2013, the Professional Football Compensation Committee set Hall's transfer fee as an initial £450,000 with additional fees payable upon certain conditions occurring. West Ham would also be due 20% of any profit made by Bolton should Hall be transferred. He made his second debut on 6 August as he started in Bolton's 3–1
League Cup away win against
Shrewsbury Town. He scored the first goal of the game, his first for Bolton. At the end of the 2015–16 season, the club confirmed that he would be leaving when his contract expired at the end of June, following a knee injury sustained while on loan at MK Dons.
Milton Keynes Dons (loan) On 26 March 2015, Hall re-joined Milton Keynes Dons on-loan until the end of the 2014–15 season. On 18 April 2015, Hall scored his first goals for Milton Keynes Dons with a hat-trick in a 6–1 home defeat of
Leyton Orient. He dedicated the goals to his friend and former teammate at West Ham United,
Dylan Tombides, who died exactly one year previous from cancer. On 28 July 2015, Hall signed for a second consecutive loan period until the end of the 2015–16 season. On 5 April 2016 Hall suffered a ruptured
anterior cruciate ligament in his left knee during training, and returned to Bolton Wanderers for treatment.
Oxford United On 19 July 2016, Oxford United announced that they had signed the former loanee on a two-year permanent deal, despite his ongoing injury. He made his first appearance as a substitute in an
EFL Trophy match against
Chelsea U23 on 8 November, and his first league appearance, again as a substitute, against
Shrewsbury Town four days later. His first starting appearance came in a League One fixture against
Coventry City on 19 November. After a bright start to
2017–18, in which he scored a further 5 goals in 15 appearances (two in the league), he spent four months out of contention due to a long-term injury, before returning to the first team for the final two games of the season. and did not reappear until the last four games of the season. This option was taken up before Hall was released at the end of the 2020-21 season.
Forest Green Rovers (loan) After signing a one-year contract extension with Oxford, Hall joined
League Two club
Forest Green Rovers on a six-month loan on 24 January 2020.
Barnet Following his release by Oxford, Hall went on trial at
Gillingham in pre-season. He signed for
Barnet on 21 September 2021. He was released at the end of the
2022–23 season.
Later career Hall joined
Hampton & Richmond Borough for the 2023-24 season. In December 2024, he joined
Isthmian League Premier Division side
Cheshunt. On 4 July 2025, Hall announced his retirement from football. ==International career==