Born in Worksop, Nottinghamshire, Thompson started his career with Retford United's youth system, before he served his apprenticeship with Lincoln City during a three-year spell. He made one first-team appearance for Lincoln, as a substitute in a 3–1 away defeat to Carshalton Athletic on 18 January 2012 in the FA Trophy. Thompson was released by Lincoln before going on trial with Worksop Town, before he rejoined Retford later in 2012. He broke the record for goals scored in the under-19 league, with 32 goals from 18 appearances. He scored 14 goals from 20 matches with the first team from Christmas to the end of the 2012–13 season. He scored 39 goals in 2013–14. Thompson joined Northern Premier League Premier Division club Frickley Athletic in October 2014, making his debut as a 90th-minute substitute in a 2–0 home victory over Belper Town on 18 October. His first goals came on 4 November 2015, after scoring twice in a 3–0 win over Stocksbridge Park Steels in the Sheffield & Hallamshire Senior Cup. He signed a contract with the club in November 2014 after scoring four goals from five starts. On 1 May 2015, Thompson scored twice as Frickley beat Nostell Miners Welfare 4–1 in the Sheffield & Hallamshire Senior Cup final, finishing 2014–15 with 15 goals from 32 matches. He was rewarded with a new two-year contract by Frickley. After a successful trial, Thompson signed for League Two club York City on 3 August 2015 for an undisclosed fee on a two-year contract. He made his debut in the opening match of 2015–16, a 3–0 away defeat to Wycombe Wanderers on 8 August 2015. On 2 September 2016, Thompson left York by mutual consent before joining their National League rivals North Ferriby United. He scored 12 goals from 40 appearances for North Ferriby in 2016–17, as they were relegated to the National League North with a bottom-place finish in the National League. Thompson signed for National League clubGuiseley on 26 July 2017, with a fee to be decided by the Football Association unless Guiseley and North Ferriby could agree compensation. On 17 November 2017, he joined National League North club Boston United on loan until 1 January 2018. On 10 April 2019, Guiseley A.F.C. released a statement with the information that Thompson's contract was terminated with immediate effect.
Prison sentence
On 3 April 2019, Thompson was sentenced to a 40-month custodial sentence along with a ten-year restraining order for domestic violence. He pleaded guilty to damaging property, assault occasioning actual bodily harm and inflicting grievous bodily harm to the victim over a three-day period when he appeared at Nottingham Crown Court.