Actor británico con muchos años en la profesión pese a su corta edad. Sus días de gloria fueron en 1987, cuando fue seleccionado entre 4.000 postulantes para protagonizar El imperio del sol (Empire of the Sun), la recordada película de Steven Spielberg. Desde entonces participó en muchos filmes, pero le llevó varios años volver a roles protagónicos en obras importantes. En 1989 trabajó en Henry V (idem), de Kenneth Branagh, en 1992 protagonizó Newsies, con Bill Pullman, y en 1994 fue Laurie, el vecino rico, en Mujercitas (Litte Woman).
Luego trabajó en Retrato de una dama (The Portrait of a Lady), de Jane Campion, y en Sueño de una noche de verano (A Midsummer Night's Dream, 1999). Sus papeles más importantes llegaron en los últimos años de la mano de films como Metroland (19xx) y Velvet Goldmine (idem, 1998), una visión del glam-rock que dirigió Todd Haynes y en la que participaron también Jonathan Rhys Meyers, Ewan McGregor y Toni Collette. En el 2000 fue el protagonista de Psicópata americano (American Psycho), la esperada versión cinematográfica de la novela de Breat Easton Ellis.