Forest’s third victory of the season in their final game before the World Cup break lifted them off the bottom of the standings to 18th place on 13 points, one ahead of Southampton, who lost 3-1 to Liverpool, and three ahead of Wolverhampton Wanderers, who face leaders Arsenal later on Saturday.
Jesse Lingard thought he had won a penalty when he was tripped in the 29th minute by Tyrick Mitchell, but the foul took place just outside the penalty area and only resulted in a free kick and a yellow card for the Palace defender.
Instead, it was Palace who were awarded a spot-kick when Joe Worrall brought down Wilfried Zaha just before halftime, but Zaha took the penalty himself and fired wide.
With neither side managing to get many shots on target, Morgan Gibbs-White finally put the ball in the net in the 54th minute after pouncing on the rebound from a Brennan Johnson shot, and though the assistant referee initially ruled he was offside, the goal was allowed to stand after a lengthy VAR review.
Palace left plenty of space for Forest to exploit as they poured forward looking for an equaliser, but the home side hung on for a much-needed win.
Additional reporting from Reuters