With Dutch goalkeeper Tim Krul playing at Falkirk on loan, the 20-year-old, who has been acting as back-up to Steve Harper in recent weeks with Shay Given recvering after groin surgery.
Fraser Forster: "I am absolutely delighted to sign my new contract at a club as big as this.
"I have worked hard at my game over the past couple of years and I definitely feel an improvement.
"It's nice to hear other people say that I am the club's most-improved player, but I know there's still plenty of work to be done and I am looking forward to doing that with the people at this club."
Kevin Keegan: "Fraser has come on in leaps and bounds and could become an outstanding goalkeeper.
"He has worked extremely hard and I was very keen to get him under contract.
"We will look for him to continue his development here and there is no reason why he can't go on to represent his country at under-21 level."