He has officiated in the Scottish Premier League since 2002, and his first match in charge in that League was the fixture between St. Johnstone and Hibernian on May 12, 2002
He was selected to referee during the UEFA Under-21 Championship 2007, held in Holland. This included him issuing a second yellow card to Belgium's Marouane Fellaini in the 18th minute of their group A match against Israel on June 13 in the Abe Lenstra Stadion. Belgium managed to win 1–0, despite the dismissal. He was not appointed to referee any other games in the Championship.
Thomson appeared as a fourth official at Euro 2008 in Switzerland & Austria.
Thomson took charge of the 2009 Scottish Cup Final between Rangers and Falkirk. In the 2010 Scottish League Cup Final between Rangers and St. Mirren Thomson sent off two Rangers players Danny Wilson and Kevin Thomson. Other high profile matches include a friendly between France and Spain on 3 March 2010 as well as a number of Old Firm matches.
On 12 October 2010, Thomson abandoned the Italy vs Serbia UEFA Euro 2012 qualification match after seven minutes of play due to crowd disorder. Italy was later awarded a 3-0 victory by UEFA for the forfeit. The following month, Real Madrid players Sergio Ramos and Xabi Alonso appeared to deliberately incur second yellow cards from Thomson in a UEFA Champions League match, thereby serving a suspension in a meaningless encounter with Auxerre. Real Madrid coach Jose Mourinho denied that the players had sought to be sent off, and criticised Thomson's performance.
In the 2011 Scottish League Cup Final, Thomson awarded Rangers a penalty kick, but then changed his decision. Rangers manager Walter Smith described this course of action as "dangerous". In the final Old Firm match of the 2010–11 season, Thomson awarded Celtic a penalty with seven minutes remaining.
Thomson was selected for UEFA Euro 2012.