The Eagles produced a commanding second-half display to grab their eighth league win of the season with the fleet-footed forward returning to the team after serving a one-match ban for improper conduct.
Michy Batshuayi broke the deadlock for Crystal Palace in the 40th minute but Johnny Evans' effort in the 64th minute drew both sides levelled.
Six minutes later, Zaha was singled out by James McArthur's cross and he made no mistake in firing his effort past Kasper Schmeichel to restore the visitors' lead.
Luka Milivojevic's effort from the penalty spot in the 80th minute put the game beyond Claude Puel's men before Zaha wrapped up the win with his second goal of the night.
3 - Wilfried Zaha has scored in three consecutive league appearances for the first time in his career. Roll. pic.twitter.com/HvLkRlmCqG— OptaJoe (@OptaJoe) February 23, 2019
Crystal Palace remain 13th in the Premier League standings and they host Manchester United next at Selhurst Park on Wednesday.