Comenzó su carrera en el club de su ciudad natal, el Shrewsbury Town, en la Football Conference y la League Two en 2003, en el cual se quedó hasta 2006.
Debutó con la selección de Inglaterra en un amistoso contra Trinidad y Tobago cuando el director técnico era Steve McClaren.
Para la temporada 2009, tras la llegada del portero irlandés Shay Given, Joe Hart fue enviado al Birmingham City en calidad de cedido.
Hart amplió su contrato con el Manchester City por 5 temporadas, hasta 2016, según informó el club por medio de un comunicado en su página web.
Para la temporada 2017-18 fue cedido al West Ham United, aunque su ficha continuaba siendo del Manchester City.