Heaton komt uit de jeugdopleiding van Manchester United. Die club leende hem uit aan Swindon Town, Antwerp FC, Cardiff City, Queens Park Rangers, Rochdale en Wycombe Wanderers. In juni 2010 keerde hij terug bij Cardiff City, waar hij ditmaal twee seizoenen onder contract stond. In 2012 speelde hij een seizoen voor Bristol City, waarna hij Bristol verliet voor Burnley in mei 2013. Met die club promoveerde hij in 2014 naar de Premier League. Na één jaar op het hoogste niveau degradeerde Heaton direct weer naar de Championship. Drie seizoenen op rij miste hij geen enkele wedstrijd.[1]
Heaton speelde in diverse Engelse nationale jeugdelftallen. Hij speelde onder meer drie keer voor Engeland –21. Sinds 2015 behoort Heaton tot de Engelse selectie als reservedoelman, met name achter eerste keuze Joe Hart. Op 16 mei 2016 werd hij door bondscoach Roy Hodgson opgenomen in de selectie van Engeland voor het Europees kampioenschap voetbal 2016; hij was samen met aanvaller Marcus Rashford (Manchester United) de enige speler zonder interlands achter zijn naam.[2] Onder leiding van Hodgson maakte Heaton zijn debuut voor Engeland op vrijdag 27 mei 2016 in de vriendschappelijke wedstrijd tegen Australië (2–1), net als Rashford. Heaton viel in dat duel na 87 minuten in voor Fraser Forster.