Palace took a first-half lead through a superb free-kick from Darren Ambrose, the midfielder's seventh goal of the season.
Forest found a swift response after the restart - but the Eagles created the better chances and Forest keeper Lee Camp made a number of vital saves.
Palace had the clearer chances in the first 45 minutes, despite the visitors playing the slicker football.
Ambrose's fifth-minute free-kick was tipped over the bar by Camp and Victor Moses, who replaced the injured Freddie Sears in the 34th minute, chested down an Alan Lee header but his shot was brilliantly blocked by the Forest keeper.
Palace did go ahead on 40 minutes with a delicious free-kick by Ambrose. His right-foot strike from 25 yards clipped the bar as it beat the despairing dive of Camp.
Clint Hill was lucky to only be booked on the stroke of half-time after appearing to elbow Paul Anderson in the head, the Forest winger being substituted after lengthy treatment. The challenge led to players from both side clashing and Forest right-back Chris Gunter was also cautioned.
Palace should have extended their advantage in the 55th minute. Shaun Derry poked the ball through the legs of Chris Cohen as he raced down the right but his low cross was fired over the bar from just six yards out by Moses.
It proved costly as Forest equalised on the hour mark. Lewis McGugan drove the ball across the face of goal and David McGoldrick swept home from close range.
Ambrose forced Camp into another instinctive save in the 62nd minute and Palace substitute Stern John, facing his former club, went close at the end. He reached Lee Hills' left-wing cross first but his shot at the near post was kept out by Camp.