Zaha kwam op negenjarige leeftijd bij Crystal Palace terecht. Hij doorliep de jeugdopleiding en debuteerde op 27 maart 2010 tegen Cardiff City.
Nadat Crystal Palace won van Leicester City, Blackburn Rovers en Ipswich Town stond het na 16 speelrondes op een eerste plek gedurende het seizoen 2012-2013. Crystal Palace zakte af naar de vijfde plek, maar wist wel promotie af te dwingen naar de Premier League via de play-offs.
Zaha tekende op 25 januari 2013 een contract voor vijfenhalf jaar bij Manchester United. Hij maakte wel het lopende seizoen af bij Crystal Palace. In de zomer kwam hij bij de selectie van Manchester United. Een doorbraak bleef uit. Manchester verhuurde Zaha daarop aan Cardif City en zijn oude club Crystal Palace. Dat kocht hem in februari 2015 definitief terug. Hiervoor betaalde het circa € 4.000.000,-.[1]
Zaha mocht zowel voor Ivoorkust als voor Engeland uitkomen. Hij werd geboren in Abidjan, maar groeide op in Engeland. Op 11 november 2012 riep Engels bondscoach Roy Hodgson Zaha op voor een oefeninterland tegen Zweden. Drie dagen later maakte hij in dat duel zijn debuut voor Engeland. Hij viel vijf minuten voor tijd in voor collega-debutant Raheem Sterling. Andere debutanten voor Engeland in die wedstrijd waren Carl Jenkinson, Steven Caulker, Ryan Shawcross en Leon Osman. Nadat Zaha ook in 2013 nog een keer mocht invallen in een oefeninterland, werd hij niet meer opgeroepen. Dit gaf hem de mogelijkheid om in januari 2017 te debuteren voor Ivoorkust. Nadat hij eerst een helft meedeed in een oefeninterland tegen - ook deze keer - Zweden, nam hij diezelfde maand nog met het Ivoriaans elftal deel aan het Afrikaans kampioenschap 2017. Zaha behoorde twee jaar later ook tot de Ivoriaanse ploeg op het Afrikaans kampioenschap 2019.