A second consecutive 1-0 win saw Palace move up to eighth and within touching distance of the play-offs after Kagisho Dikgacoi's goal was enough for victory over a strong Birmingham side.
Dougie Freedman handed recalls to Chris Martin, Dikgacoi and Darren Ambrose as Palace looked to get the festive season off to a strong start at Selhurst.
The game started slowly with Chris Burke the main threat for Birmingham down the Palace left. Other than Burke and a Marlon King snapshot though excitement was hard to fine in the first twenty minutes.
Nathaniel Clyne was the standout Palace player in the first thirty minutes and his cross led to the first chance when it was headed out to Mile Jedinak. The Australian caught the ball sweetly on the half-volley but Boaz Myhill made a sprawling save to his right to keep the scores level.
Clyne, so often assured defensively, then almost made the difference going forward as he played the ball into Sean Scannell's feet and continued his run into the box. Scannell's back-heel found the on-rushing full back who was poised to slot home his first goal of the season when David Murphy made a wonderful last ditch tackle to keep the game at 0-0.
The Blues took charge again in the last ten minutes of the half but Murphy's curling free-kick was the closest they came to taking the lead as a tight contest ended level at the break.
The second half started in the same vain with Stephen Caldwell forcing a finger-tip save from Julian Speroni for the visitors before Jedinak brought another good stop from Myhill from Ambrose's set-piece.
Suddenly Palace were on top and looking particularly dangerous from set-pieces. Jedinak again came close when he latched onto Anthony Gardner's knock-down but Myhill saved again before Martin's follow up was scrambled clear. Another Ambrose corner then almost saw Palace take the lead as captain Paddy McCarthy out-jumped his marker and headed against the far post from inside six yards.
Burke continued his fine performance by testing Speroni with a fizzing drive but Caldwell could only head over when well placed before Palace took the lead with less than 10 minutes left. Another succession of dangerous set-pieces came to fruition when a corner fell to Ambrose whose whipped cross found Dikgacoi's run and the South African made no mistake planting his header past Myhill for 1-0.
The visitors had brought on Chris Wood and Nikola Zigic and took a more aerial route in the final stages but despite a couple of late scrambles in the box Palace held firm for back to back wins in the Championship for the first time since October.
Crystal Palace: 1. Julian Speroni, 2. Nathaniel Clyne, 4. Jonthan Parr, 5. Patrick McCarthy, 6. Anthony Gardner, 7. Darren Ambrose, (31. Calvin Andrew '83) 8. Kagisho Dikgacoi, 11. Sean Scannell (38. Peter Ramage '90+1) 15. Mile Jedinak, 17. Glenn Murray, 35. Chris Martin (19. Jermaine Easter '77)
Subs not used: 40. Ross Fitzsimons, 10. Owen Garvan
Birmingham City: 1. Boaz Myhill, 2. Stephen Carr, 3. David Murphy, 4. Stephen Caldwell, 7. Chris Burke, 8. Guirane N'Daw (15. Wade Elliott '81), 9. Marlon King (19. Nicola Zigic '70), 18. Keith Facey, 22. Nathan Redmond (39. Chris Wood '83), 23. Jonathan Spector, 24. Curtis Davies
Subs not used: 13. Colin Doyle, 5. Pablo Ibanez
Attendance: 12,057 (Away 707)