Thompson was born in Sheffield and attended Acres Hill Junior School and Waltheof Comprehensive School. Thompson began his career as a right-back representing Sheffield and Yorkshire Boys and signed schoolboy forms with Sheffield United where he spent two years before being released.
He began his senior career with Frecheville Community Association in the Yorkshire Football League whilst training to be an electrician. Aged 18, following a knee injury he had a cartilage removed and was given only a fifty-fifty chance of resuming his playing career. Happily, after a year out injured, Thompson did recover and found that his remdial exercises helped develop his physique. Returning to fitness, he signed for Worksop Town. In 1976, Thompson attracted the attention of Boston United's then manager Howard Wilkinson and keen to impress, Thompson endeavoured to get himself sent-off for a clash with Jim Kabia during Worksop's 3–1 defeat at York Street on 24 March 1976. However, much to Thompson's relief, the incident did not dissuade Wilkinson and after the game he approached Thompson to inform him of his intention to secure his services for the following season. Thompson duly joined the Pilgrims making his Northern Premier League debut for them in the 1–1 draw at Wigan Athletic on 21 August 1976. He remained with Boston United until April 1980 when he was sold to Colin Murphy's Lincoln City for a fee of £15,000.
In August 1985, after playing over 150 games for Lincoln, Thompson moved to Charlton Athletic. In his last game for Lincoln he was to witness a nightmare when 56 spectators were killed in a horrendous stand fire while playing Bradford City. He became captain of Charlton and led them to promotion to the First Division and the Simod Cup final.
He moved to Leicester City in July 1988 for a fee of £40,000, but failed to establish himself and moved to Sheffield United in November the same year for a fee of £20,000. In August 1989 he returned to Lincoln City where he finished his playing career.
He took over as manager of Lincoln in November 1990, with Lincoln near the bottom of the Fourth Division. Under his leadership, Lincoln lost only three of the last 18 games that season and finished comfortably in mid-table, avoiding a second relegation to the Conference. He resigned in May 1993, with one game of the season remaining, after the Lincoln board had decided not to renew his contract.
County made the play-offs in their first season in charge, but struggled badly the following year in a season that would see the Magpies relegated to Division Three. Both Murphy and Thompson were sacked before the season finished. Thompson then joined Nigel Spackman's coaching staff at Sheffield United. However Spackman resigned in March 1998 and Thompson was made acting-manager. He guided the blades to the play-offs and the semi-finals of the FA Cup, but was replaced on 2 July 1998 by Steve Bruce.
In late December 2004 Thompson was appointed as manager of struggling League Two side Cambridge United, but was made redundant the following summer having failed to prevent Cambridge's relegation to the Conference.
He then worked as a summariser for BBC Radio Lincolnshire. On 12 June 2006 he was appointed manager of Notts County on a three-year deal which was extended by one year in May 2007, the appointment was an unpopular decision among many County fans because of his association with the Colin Murphy era. In spite of this, County initially showed signs of improving substantially in their first season under the new order, but struggled to maintain a consistent run of good form as the season drew to a close. Thompson was sacked at the start of the 2007–08 season after a poor start that saw the Magpies languishing near the bottom of the table.
Since leaving Notts County Thompson is yet to make a return in football within any capacity, however in the Summer of 2009, he went public with his interest for the Port Vale job – which later went to Micky Adams. He had previously lost out to the job in October 2007 to Lee Sinnott.
He is now a summeriser for BBC Radio Lincolnshire on Lincoln City games.