Troy Deeney’s own goal settled the contest, the Watford captain sending Yohan Cabaye’s free-kick past Heurelho Gomes on 68 minutes.
A close-fought first half might have brought a goal for Valon Behrami, who fired over for Watford on the stroke of half-time, shortly after Wilfried Zaha had done likewise at the other end.
Zaha almost gave Palace the lead on 65 minutes when he beat his marker, only to fire high again.
But the deadlock was broken when Deeney headed in off a post to send Palace to 28 points, four clear of the relegation zone.
Watford are three points better off in 13th.