Джон Дэвид Ханна родился 23 апреля 1962 года в Южном Ланаркшире. В семье у него было еще две старшие сестры. Его мать работала уборщицей, а отец трудился слесарем. Джон решил стать электриком и проработал в этом направлении целых четыре года. Но больше всего его стали интересовать репетиции в Ист-Кальрайском театральном клубе, чем сама работа. В связи с этим один его знакомый посоветовал Джону поступить в Шотландскую королевскую академию музыки и драмы в Глазго. Молодой человек не верил даже в то, что может получить высшее образование, не то что стать профессиональным актером. Но он просто поверил и поступил в академию с первой попытки. После окончания учебы Ханна работал в кино и на телевидении. В театральных постановках он играл второстепенные роли и долгое время оставался неизвестен для публики. Но прорыв произошел после работы над ролью Мэтью в комедии "Четыре свадьбы и одни похороны". За всю историю британского кино этот фильм стал самым кассовым и был номинирован на премию "Оскар". С этого момента карьера Джона резко пошла вверх. В 1995 году он стал обладателем награды на Стокгольмском кинофестивале за роль в фильме "Мадаскарская кожа". А потом была роль в телефильме "Правда или вызов". На счету Джона Ханны много ролей в телевизионных сериалах: "Медики", "Шпионки", "Карнавал", "Фрейзеры".В 1999 году он появился на экранах в роли Джонатана в триллере "Мумия", а потом - та же роль в кинохитах "Мумия возвращается" и "Мумия: Гробница императора драконов". В 1997 году Джон вместе с кинопродюсером Мюрреем Фергюсоном основал продюсерскую компанию, первым продуктом которой стал сериал "Ребус". К недавним работам можно отнести фильм "Спартак: кровь и песок", где актер играет Лентула Батиата. С 1996 года актер женат на Джоанне Рот, с которой у них родились близнецы - мальчик и девочка.