John Hannah naît le 23 Avril 1962 à East Kilbride (Ecosse). Issu d'un milieu modeste, John Hannah enchaîne les petits boulots avant de pouvoir se concentrer à sa passion, le théâtre.
Il fait ses classes pendant 4 ans à la Royal Scottish Academy of Music and Drama à Glasgow et commence à passer des castings outre-manche.
Il débute en 1987 dans deux téléfilms pour la BBC,
Brond Et Bookie. On le retrouve dans diverses séries avant d’apparaître sur grand écran. Après un petit rôle dans
Harbour Beat, il signe en 1994 une prestation remarquée dans
Quatre Mariages Et Un Enterrement aux côtés de Hugh Grant.
Il est nominé pour ce rôle aux BAFTA en tant que meilleur acteur dans un second rôle, concluant une année de travail intensif : il obtient un rôle de médecin légiste dans la série policière
Mccallum.
En 1997, il tente sa chance outre-Atlantique dans le western
The James Gang et la comédie
Pile & Face avec Gwyneth Paltrow. Mais la consécration (surtout financière) advient avec le rôle de Jonathan Carnahan dans
La Momie pour lequel il touche un million de dollars…
Il tourne ensuite dans
Hurricane Carter et
Suspicion. Il rejoint également le casting d’
Alias pour deux épisodes et la comédie romantique
Autour De Lucy tout en continuant de camper son rôle de comique maladroit dans
Le Retour De La Momie et en 2008 dans
La Momie 3 : La Tombe De L'Empereur Dragon. Trois ans plus tard, on le retrouve sur le petit écran pour la série péplum
Spartacus : Blood And Sand, dans le rôle de Batiatus.