It was a timely win for the Eagles who had gleaned just one point from their previous three league outings.
Palace boss Roy Hodgson made six changes to the side that lost to West Ham in midweek. New signing Jean-Philippe Mateta sat the game out on the bench.
With little action in either penalty area, the first half ended goalless at Selhurst Park.
The action picked up after the break and Eagles keeper Vicente Guaita made smart stop from Willian Jose.
Palace took the lead on the hour mark against the run of play with a low Eberechi Eze rasper from the edge of the box for his third goal of the season.
Zaha almost sealed the points but his strike hit the bar after he broke on a rapid counter-attack with Michy Batshuayi.
Guaita made another excellent save, this time from Willian Jose’s powerful header, as Palace ended up claiming a rare clean and three points.
Palace: Guaita, Clyne (Ward 85), Kouyate, Dann, Van Aanholt, McCarthy (Riedewald HT), Milivojevic, Ayew, Eze, Zaha, Batshuayi (Townsend, 80).
Not used: Butland, Mitchell, Cahill, Kelly, Mateta, Benteke.
Wolves: Rui Patricio, Hoever (Traore 62), Neto, Podence (Vitinha 67), Willian Jose, Boly, Coady, Semedo, Moutinho (Fabio Silva 76), Dendoncker, Kilman.
Not used: Ruddy, Neves, Gibbs-White, Otasowie, Lonwijk, Bueno.