Thomson, a wing half, started his career with Thornton Rangers in his native Fife, before moving to Dundee, where he played for four years. In 1929 he moved to Everton. His Everton career had an inauspicious start, with the club suffering relegation in his first season. The following season, he gained a Second Division winners medal as Everton made an immediate return to the top flight, and then added a First Division medal in 1932 as Everton became champions. He played in the 1933 FA Cup Final, helping Everton to a 3–0 win against Manchester City. Later in his time at Everton, first team appearances became more uncommon for Thomson as he was displaced from the team by Joe Mercer. Thomson retired from playing in 1939, having made 299 appearances for Everton, in which he scored five goals.