John Hannah ne se prédestinait pas à la carrière d'acteur. Avant qu'il ne devienne le célèbre Matthew de 4 mariages et un enterrement, John est un apprenti électricien pendant quatre ans. Il laisse tomber ce métier quand il est accepté à la Royal Scottish Academy of Music and Drama à Glasgow. Après quelques années d'étude, et de passages éclair dans des téléfilms, John Hannah est repéré pour jouer dans la comédie romantique 4 mariages et un enterrement de Mike Newell, en 1994, où il interprète un jeune homosexuel, ami de Hugh Grant. Malgré l'énorme succès de ce film, John n'arrive pas à percer sur grand écran et continue son bonhomme de chemin sur le petit. Après quatre ans d'absence, John est de nouveau appelé pour jouer au cinéma mais reste adepte des seconds rôles.
En 1998, il donna la réplique à Gwyneth Paltrow dans la comédie romantique Pile et face mais c'est un an plus tard, dans La momie, que l'on peut apprécier véritablement son personnage. En jouant le frère malchanceux de Rachel Weisz, John met à contribution son talent comique, que l'on retrouve dans le second opus, Le retour de la momie et La momie 3 en 2008.
Malgré des seconds rôles récurrents (Hurricane Carter en 2000, Pandemonium en 2001), John peine à trouver sa place dans le milieu et intervient de temps en temps dans des séries comme Alias, ou La caravane de l'étrange.
Sa présence au générique de la comédie romantique Autour de Lucy en 2002 est la dernière pendant plusieurs années. Il ne revient malheureusement que sur grand écran pour un petit rôle dans le film d'action La dernière légion en 2007.