After youth spells with Binfield, Eldon Celtic and Ascot United, Hall joined Football League side Sheffield United in December 2015 on a scholar basis. On 6 May 2016, Hall signed his first professional contract along with fellow academy players; Aaron Ramsdale, Shea Gordon, Kimarni Smith and Nathaniel Crofts. In September 2016, Hall joined Northern Premier League Division One South side Sheffield on a three-month loan deal. On 10 September 2016, Hall made his Sheffield debut in their 4–2 home victory over Rugby Town, featuring for 89 minutes before being replaced by Pat Lindley. After a month at Sheffield, Hall finally registered his first goal for the club in their 3–0 home victory over Basford United. Following his first goal for the club, Hall went on to net twelve more times for Sheffield, scoring four during their 5–2 victory against Northwich Victoria. On 6 December 2016, following an impressive loan spell at Sheffield, Hall joined Mickleover Sports on a one-month loan deal. Hall went on to net eleven times in nine games, including five in Mickleover's 7–0 victory against Ilkeston on 26 December 2016. On 5 January 2017, Hall joined National League side Woking on a one-month loan deal. Two days later, Hall made his Woking debut during their 2–1 away defeat against Wrexham, featuring up until the 71st minute before being replaced by Chike Kandi. On 7 February 2017, Hall's loan spell was extended for a further month. On 17 April 2017, Hall scored his first goal for Woking in their 3–2 comeback against Chester, scoring the equalising goal for the Cards, before fellow forward Gozie Ugwu sealed the victory in the 90th minute.
Bolton Wanderers
On 3 July 2017, following his release from Sheffield United, Hall joined Championship side Bolton Wanderers on a one-year deal following a successful trial period. On 6 January 2018, Hall made his professional debut during Bolton's FA Cup third round tie against Huddersfield Town, replacing Mark Little in the 2–1 defeat. On 6 May 2018, after netting twenty-two times during the 2017–18 under-23 campaign, Hall was rewarded with the Bolton Wanderers Young Player of the Year award. Despite the club exercising an option to extend Hall's contract for a further year in early June, he subsequently signed a new two-year deal later that month with a view to more first-team football. On 14 August 2018, Hall made his first start for Bolton during their 2–1 defeat against Leeds United in their EFL Cup first round tie, featuring up until the 65th minute. On 31 August 2018, Hall joined League One side, Accrington Stanley on loan until January 2019. Hall made his Bolton league debut on 18 January 2020 as a late substitute for Ronan Darcy in a 0–1 defeat against Portsmouth. Six days later Hall signed for Chorley on loan for the rest of the season. He made his Chorley debut on 25 January, starting in a 0–1 defeat against Halifax Town. On 26 June it was announced Hall would be one of 14 senior players released at the end of his contract on 30 June.
Career statistics
Honours
Individual
Bolton Wanderers Young Player of the Year: 2017–18