The 19-year-old, who scored 10 goals in 44 appearances for the Sky Bet League Two side last season, moves to St. James’ Park for an undisclosed fee.
“I’m happy to be here and very excited,” said Toney. “The players here are a great standard and I can’t wait to get going and show what I’m all about.
“Being a young lad who is scoring goals in the Football League was a great thing. Now I want to progress here and eventually do it in the Premier League.”
Toney became the youngest ever player to make a first team appearance for Northampton after starting against Bradford City in the FA Cup aged just 16 in 2012.
The teenager was reportedly close to joining Wolverhampton Wanderers last November for a fee in the region of £600,000 but deal fell through due to a failed medical.
Former Newcastle forward Peter Beardsley, who now acts as the club’s football development manager, said: “We have been very impressed with Ivan already.
“He is a very good player, with great enthusiasm and a first-class attitude, and has all the attributes to have a bright future at the Club.”
Toney is Newcastle’s fourth signing this summer following the high-profile arrivals of Georginio Wijnaldum from PSV and Aleksandar Mitrovic and Chancel Mbemba, both from Anderlecht.