W produkcjach telewizyjnych debiutował epizodycznymi rolami pod koniec lat 80. Zagrał m.in. w Kandydacie, Złotym kompasie, W sieci kłamstw, Robin Hoodzie i Jane Eyre. W 2006 otrzymał jedną z głównych ról w Ostatnim królu Szkocji, w 2008 wcielił się w postać Charlesa Jamesa Foksa w Księżnej, a w 2011 w inną historyczną postać, Johannesa Burcharta, w Rodzinie Borgiów. W 2011 dołączył do obsady filmu Szpieg w roli Olivera Lacona. W 2015 wystąpił w miniserialu Trafny wyborów, a także w kolejnej części cyklu Mission: Impossible. W filmie Harry Potter i Insygnia Śmierci: Część I dubbingował postać Stworka. W 2019 wcielił się w postać Ruperta Murdocha w miniserialu Na cały głos.

Odznaczenia Oficer Orderu Imperium Brytyjskiego (OBE)

Filmografia 1986: Screenplay jako Martin 1991: Kafka jako asystent Oscar 1993: Being Human jako Hermas 1994: A Business Affair jako Sprzedawca 1994: Mesmer jako Franz 1994: Tom i Viv jako dr Reginald Miller 1996: Król Olch jako brygadier 1998: Cousin Bette jako Vauvinet 1999: Inside-Out jako ankieter 1999: Oniegin jako Triquet 2000: The Furnace jako Thomas 2003: Bright Young Things jako Stephen 2004: Kandydat jako Atticus Noyle 2006: Ostatni król Szkocji jako Stone 2006: Przyjaciele z kasą jako Aaron 2007: Złoty kompas jako Fra Pavel 2008: Księżna jako Charles Fox 2008: W sieci