Zaha, who re-joined Palace in 2015 after two years with Manchester United, has been vital to the club avoiding relegation and securing their top flight status.
“Palace is in my heart and I don’t think the story is over. I spoke with Steve and I think I still have more to give this club,” Zaha told the team’s official website.
The Ivory Coast international has scored 34 goals in 258 appearances for the club.
“He is our talisman and someone that week in week out gives everything for the Red and Blue,” Palace chairman Steve Parish said.
“I’m delighted he has committed his future to us and look forward to climbing up the table with him next year.”
The news comes in the wake of manager Sam Allardyce’s resignation from the club on Tuesday, stating at the time that he had “no ambition” to manage another club.