Watson joined the academy of Reading at a young age, and progressed through the ranks to eventually sign professional terms with the club in May 2016.[3] He made his first team debut on 6 August 2016, coming on as a 66th-minute substitute for the injured Jordan Obita.[4]
On 1 February 2018, Watson signed a contract extension with Reading until the summer 2021,[5] and was later sent out on loan for the 2018–19 and 2019–20 seasons to League One clubs AFC Wimbledon and Coventry City.[6] However, at the end of the 2020–21 season, he was one of four Reading players released by the club.[7]
Milton Keynes Dons
On 28 July 2021, Watson signed for the League One club Milton Keynes Dons after a successful trial period, having been recommended to the club by his former Reading teammate, Zak Jules.[8] He made his league debut for the club on 7 August 2021, in a 3–3 draw away to Bolton Wanderers.[9] On 8 December 2021, Watson scored his first career professional goal in a 1–1 draw at home to Plymouth Argyle.[10] Despite the offer of a new contract, Watson was one of several players to part ways with the club following their relegation to EFL League Two at the conclusion of the 2022–23 season.[11]
Charlton Athletic
On 1 September 2023, Watson signed for League One club Charlton Athletic on a two-year contract.[12]