Nato ad Edinburgo, figlio di due insegnanti d'arte. Inizialmente il sogno dell'attore inglese era diventare un clown in un circo ma poi si avvicina al cinema. Lavora in molti film e anche per la TV. Il film più noto e carattizzante è Trainspotting del 1996 di Danny Boyle. Maggiormente interpreta personaggi drammatici ma è presente anche in film brillanti.