Nasce a Londra , ma, a soli cinque anni si trasferisce a Melbourne, in Australia. Sedicenne lascia gli studi per dedicarsi totalmente alla recitazione. Il suo debutto arriva alla fine degli anni ’80 con Cani nello spazio. Successivamente lavora per alcune produzione australiane come i Bangkok Hilton e Flirting al fianco di Nicole Kidman e Thandie Newton. Nel 1996 è la versione giovane di David Helfgott in Shine di Scott Hicks. A Hollywood arriva con Quasi famosi di Cameron Crowe. Sempre con quest’ultimo ha una parte in Vanilla Sky. Altre pellicole della sua carriera sono: Lara Croft: Tomb Raider, Tomb Raider: La culla della vita, E morì con un felafel in mano e Max, Le avventure acquatiche di Steve Zissou, La fabbrica di cioccolato de Lezione ventuno.
A livello seriale interpreta Locke ne Il trono di spade e Dardy Sabini in Peaky Blinders.