Dopo aver compiuto le trafili giovanili, nel 2005 ottenne il primo contratto da professionista con il Newcastle, che nella stagione 2007-2008 lo inserisce in rosa come terzo portiere, alle spalle di Tim Krul e Shay Given.
Bisognoso di maggior spazio, il 2 ottobre 2008 viene ceduto in prestito mensile allo Stockport, dove gioca 6 partite. Tornato a Newcastle il 1º novembre, colleziona fino a 30 panchine in Premier League e Coppa Uefa, terminando la stagione senza tuttavia riuscire a scendere in campo. Il 31 luglio 2009 passa ancora in prestito mensile al Bristol City, con cui riesce a disputare 4 partite senza subire reti. Nonostante i tentativi della società di rinnovare il prestito, è il Norwich ad aggiudicarselo prima con prestito per un mese, poi fino a fine anno. Con il club gialloverde gioca da titolare 38 partite di Championship, consacrandosi come uno dei migliori portieri della competizione e vincendo anche numerose onorificenze, tra cui il premio come miglior giocatore della squadra del 2010.
Celtic
Il 24 agosto 2010 è ufficiale il suo trasferimento in prestito annuale al Celtic Glasgow, con cui debutta 5 giorni dopo nella sfida interna contro il Motherwell. La stagione si rivela ancora una volta positiva per Forster, che, grazie a 23 partite a porta inviolata, infrange il record di imbattibilità (1256 minuti senza subire reti) risalente al 1970-1971.[1][2] A fine stagione sono 36 le partite disputate e solo 21 le reti subite in campionato, che gli valgono la riconferma, sempre in prestito, per la stagione 2011-2012. Il 5 luglio 2012 il Celtic riscatta il cartellino del giocatore dal Newcastle United.
Southampton e prestito al Celtic
Il 9 agosto firma un contratto quadriennale con il Southampton.[3] Il 21 marzo 2015 si infortuna gravemente al ginocchio nel match vinto 2-0 contro il Burnley, subendo la rottura del tendine rotuleo sinistro.[4] Il 13 maggio 2016 rinnova con i Saints fino al 2021.[5] Con i biancorossi disputa 107 partite in campionato fino alla stagione 2018-2019.
Nella stagione 2019-2020 viene ceduto in prestito dal Celtic[6], club nel quale aveva giocato prima del suo approdo ai Saints: con il club di Glasgow vince il campionato e la coppa di lega.
Tornato nel club dell'Hampshire, rimane altre due stagioni, durante le quali disputa altre 37 partite tra campionato, coppa di lega ed FA Cup. Al termine della stagione 2021-2022 va in scadenza di contratto, lasciando il club dopo 162 presenze totali.[7]
Tottenham
L'8 giugno 2022 sottoscrive un contratto di due anni con il Tottenham.[8]
Nazionale
Il 4 ottobre 2012 ha ricevuto la sua prima convocazione nella nazionale inglese per gli incontri contro San Marino e Polonia, valevoli per le qualificazioni al Mondiale 2014,[9] esordendo il 15 novembre 2013 nell'amichevole persa per 2-0 contro il Cile. Fa parte della rosa dei convocati per il consecutivo Campionato del Mondo,[10] ma non scenderà mai in campo. Viene convocato per gli Europei 2016 in Francia,[11] manifestazione in cui però non scende in campo. Dopo questa esperienza, dall'agosto del 2017 non viene più convocato.[12]
Nel novembre 2019 manifesta la volontà di voler ritornare nel giro della Nazionale[13] e, il 23 marzo 2022, viene nuovamente convocato al posto del collega Sam Johnstone in occasione delle partite amichevoli contro Svizzera e Costa d'Avorio.[14]