Thompson started his career at Swindon Town where he followed his older brother Nathan through the Wiltshire football club's youth system under the guidance of former Wales international footballer and Swindon coach, Paul Bodin. During the 2011–2012 season, Swindon Town managerPaolo Di Canio drafted Thompson into the senior side by naming him on the substitutes bench for FA Cup victories over Huddersfield Town, Colchester United and Wigan Athletic. He was also on the bench for the Football League Trophy draw at Barnet and Football League Two wins over AFC Wimbledon and Rotherham United. However, Thompson failed to make it on to the pitch during any of those fixtures. Thompson made his first team debut for Swindon on 28 January 2012 as an 81st-minute substitute for fellow Town midfielder Simon Ferry during the 2–0 away loss to Leicester City in the FA Cup Fourth Round. After making his debut, Thompson expressed his gratitude to Di Canio for giving him his first opportunity within professional football by telling the local Swindon newspaper, the Evening Advertiser, that it was "an amazing feeling to make my debut at such a young age. I am so thankful to the gaffer for giving me my chance". On 1 September 2014, he joined Norwich City and was loaned back to Swindon for the rest of the 2014–15 season. In January 2017, Thompson was ruled out for the rest of the 2016–17 season after suffering an achilles injury. Thompson suffered a further setback, a second achilles injury, in July 2017 and missed the 2017–18 season. He made six league appearances as Norwich were promoted to the Premier League as winners of the 2018–19 EFL Championship. On 16 August 2019, Thompson joined League One side Shrewsbury Town on a season-long loan. He made his debut for the club on 20 August, coming on as a 59th-minute substitute in a 2–3 away win at Accrington Stanley. He scored his first goal for Shrewsbury when he scored in an EFL Trophy tie against Macclesfield Town on 13 November 2019. Thompson returned to Norwich from his loan spell on 2 January 2020. On 16 January 2020, Milton Keynes Dons announced they had agreed a loan deal until the end of the 2019–20 season.
International career
In 2012, Thompson was called into the Wales under-19 squad for the European championship qualifying matches. Thompson was called up to the Wales under-21 squad versus Moldova on 22 March 2013.