Call 1996: Trainspotting jako Simon David ‘Sick Boy’ Williamson 1997: Miłość po zmierzchu (Afterglow) jako Jeffrey Byron 1997: Sanatorium poetów (Regeneration) jako Billy Prior 1999: Plunkett i Macleane (Plunkett & Macleane) jako Macleane 1999: Mansfield Park jako Edmund Bertram 2000: Drakula 2000 (Dracula 2000) jako Simon 2000: Miłość, szacunek i posłuszeństwo (Love, Honour and Obey) jako Jonny 2000: Współudział (Complicity) jako Cameron Colley 2002: Eskapista (The Escapist) jako Denis 2003: Byron jako Lord Byron 2004: Łowcy umysłów (Mindhunters) jako Lucas Halpern 2004: Melinda i Melinda (Melinda and Melinda) jako Lee 2005: Aeon Flux jako Oren Goodchild 2006: Skrzydlaty Szkot (The Flying Scotsman) jako Graeme Obree 2009: Ostatnia partia (Endgame) jako Michael Young 2012: Mroczne cienie (Dark Shadows) jako Roger Collins 2012: Byzantium jako Ruthven 2017: T2 Trainspotting jako Sick Boy
Seriale TV 1982: Doktor Who jako Kinda child 1983: Mansfield Park jako Charles Proce 1985: EastEnders jako Jonathan Hewitt 1989: 4 Play jako Dennis Turnbull 1990: Co ludzie powiedzą?