W 2005 roku po raz drugi został Mistrzem Szkocji oraz zdobył Puchar Ligi.
10 stycznia 2006 roku Thompson przeniósł się do Cardiff City. Transfer opiewał na sumę 250 tysięcy funtów. W The Bluebirds zadebiutował cztery dni później w meczu z Burnley FC i od razu w tym spotkaniu dwukrotnie wpisał się na listę strzelców. W Cardiff Thompson miał pewne miejsce w podstawowym składzie i występował w prawie każdym meczu. W walijskim zespole grał do 2008 roku i w tym okresie wystąpił łącznie w 106 spotkaniach w których strzelił 17 goli.
1 września 2008 roku Thompson przeniósł się do Burnley FC. W The Clarets zadebiutował dopiero po dwóch tygodniach, w wygranym 2:1 meczu z Nottingham Forest F.C. Pierwszego gola zdobył 25 października, kiedy to pokonał bramkarza Charltonu Athletic. Ostatecznie sezon 2008/2009 zakończył z 34 ligowymi występami, a wraz z kolegami z zespołu wywalczył awans do Premier League.
W czerwcu 2011 roku podpisał 2,5-letni kontrakt ze szkockim klubem St. Mirren.