Dès son plus jeune âge, le garçon est bercé par le milieu du spectacle. Il commence sa carrière d'acteur à 11 ans dans le court-métrage Mansfiel Park. C'est seulement en 1995 que le comédien se fait remarquer au cinéma. Il joue dans le thriller Hackers, aux côtés de la pulpeuse Angelina Jolie, qui devient sa compagne durant le tournage. Le couple se marie le 28 mars 1996. L'anecdote veut que le jour de leur mariage, Angelina Jolie portait un pantalon de cuir et une chemise blanche, au dos de laquelle 'Jonny' était inscrit en lettres de son propre sang.
En 1996, le jeune marié joue avec Ewan McGregor dans le film Transpotting de Danny Boyle. Le film est une réussite et les acteurs sont courus du tout Hollywood. L'acteur joue ensuite dans Gangsters, sex & karaté en 2000. Il donne la réplique au célèbre acteur anglais, Jude Law.
En 2001, il décroche un rôle dans le film d'horreur Dracula 2001 puis apparaît au casting de Profession Profiler en 2005. Il donne notamment la réplique à Val Kilmer et Christian Slater. En 2006, l'acteur partage l'affiche de Aeon Flux avec Charlize Theron.



Koh-Lanta
Le Tour en fête
Le monde de Narnia : Le lion, la sorcière blanche et l'armoire magique
N.C.I.S. : Enquêtes spéciales

