Начинал свою футбольную карьеру в своём родном городе, в клубе «Шрусбери Таун», где выступал с 2003 по 2006 год. Однако в основном составе он закрепился лишь в сезоне 2005/06, когда сыграл 46 матчей и пропустил 55 мячей. В 2006 году подписал контракт с клубом «Манчестер Сити». При этом в январе и апреле 2007 года на короткое время передавался в аренду в другие клубы. В июне 2009 года было объявлено, что следующий сезон он проведёт в аренде в «Бирмингем Сити», за игру в составе которого, был номинирован на звание Молодого игрока года по версии ПФА, проиграв его своему будущему одноклубнику Джеймсу Милнеру. По итогам сезона 2009/10 вошёл в «Команду года» по версии ПФА.
Вернувшись в «Манчестер Сити» Джо стал основным голкипером команды, вытеснив из стартового состава Шея Гивена.
В юношеской сборной Англии (до 19 лет) провёл 6 матчей. В молодёжной сборной Англии (до 21 года) выступал с 2007 года по 2009 год, являлся основным вратарём и провёл 21 матч, из которых 3 на Евро-2009 в Швеции.
Джо Харт вызывался в национальную сборную Англии в 2008 году, когда провёл на поле один тайм в товарищеском матче против команды Тринидад и Тобаго.