Został złotym medalistą w dziesięcioboju na pierwszych mistrzostwach świata w 1983 w Helsinkach. Na igrzyskach olimpijskich 1984) w Los Angeles obronił tytuł mistrzowski, stając się jedynym takim lekkoatletą w historii obok Boba Mathiasa. Wynikiem 8797 pkt. wyrównał wówczas rekord świata Hingsena, lecz po wprowadzeniu nowych tabel wynik Thompsona przeliczono na 8847 punktów, co było samodzielnym rekordem świata (obecnie jest to siódmy wynik w historii światowej lekkoatletyki). Był to niepobity rekord świata przez 9 lat i rekord olimpijski przez 20 lat, do czasu aż czeski dziesięcioboista Roman Šebrle zdobył 8893 punkty na igrzyskach w Atenach. Na igrzyskach w Los Angeles Thompson startował również w sztafecie 4 × 100 metrów, która w finale zajęła 7. miejsce
Zdobył kolejne tytuły mistrzowskie w dziesięcioboju na mistrzostwach Europy w 1986 w Stuttgarcie i na igrzyskach Wspólnoty Narodów w 1986 w Edynburgu. Na tych ostatnich zawodach wywalczył także srebrny medal w sztafecie 4 × 100 m.
Thompson doznał niespodziewanej porażki na mistrzostwach świata w 1987 w Rzymie, gdzie zajął 9. miejsce. Chciał też zdobyć trzecie z rzędu złoto na igrzyskach olimpijskich w 1988 w Seulu, ale poważna kontuzja wyeliminowała go z wyścigu po medale i ukończył rywalizację na czwartym miejscu.