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 cœur 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.
#CPFC have agreed a five-year contract extension with @wilfriedzaha!
— Crystal Palace F.C. (@CPFC) 26 de mayo de 2017
More: https://t.co/Abha82qTft#LetsDoThis pic.twitter.com/5I3KkjHIyb