The 23-year-old had been linked with other clubs including Crystal Palace and West Ham.
The 23-year-old, who has been with the Gunners since the age of 14, had been in the final few weeks of his previous deal.
Nketiah had been linked with other clubs including Crystal Palace, who reportedly had approaches turned down in January, and West Ham but has now committed his future to Mikel Arteta’s side.
Arsenal have also confirmed Nketiah will take the number 14 shirt, recently vacated by Pierre-Emerick Aubameyang and previously worn by record goalscorer Thierry Henry, from next season.
Manager Arteta told the club’s website: “I’m delighted Eddie is staying with us. He represents what we are all about and all the values of the club.
“We are very happy that he has extended his contract and now we have to get to work and continue to develop the great talent and person that we have in him.”
Nketiah, who has scored 23 goals in 92 first-team appearances, struggled for game time for most of last season but his position improved in the closing months of the campaign.
He started the last eight Premier League games after the departure of Aubameyang opened up an opportunity. With Alexandre Lacazette having now also left, Nketiah appears to have a chance to firmly establish himself at the club.
Technical director Edu said: “The foundations of this squad are built on young talent and in particular those who have come through our Academy system.
“Eddie was released by another club as a young man but has always shown he has the attitude as well as the ability to become a top player.
“The fact he’s signed a new contract is an important part of our squad planning for next season and we’re all delighted.”
In keeping with club policy, the exact length of the contract has not been revealed.