The 29-year-old’s future had been a source of constant speculation in recent months after talks over a new deal stalled and with his contract set to expire next summer.
“I have thought long and hard about this decision and I am very grateful to Schalke 04 for giving me this time. But now I have made the decision and I have the best feeling,” said Huntelaar.
“I’ve always felt comfortable at Schalke, the club and its fans and I now want to send out a positive sign because I believe in our team.”
Huntelaar has scored 71 goals in 104 appearances for Schalke after joining the club from AC Milan in 2010.