L'international ivoirien de 24 ans avait été transféré de Palace à Manchester United en 2013 avant de revenir dans son club formateur deux ans plus tard. Il a marqué 34 buts en 258 matches avec l'équipe londonienne.
"Palace est dans mon coeur et je ne pense pas que l'histoire soit finie", a déclaré Zaha dans un communiqué.
La prolongation de Zaha intervient deux jours après le départ pour des raisons familiales de l'entraîneur Sam Allardyce, arrivé à la mi-saison.
Avec AFP