A rare goal from Kagisho Dikgacoi lifted Crystal Palace to within touching distance of the play-offs and left Birmingham City still playing catch-up with the Championship also-rans.
Just two points and as many places separate the Eagles from sixth-place Leeds thanks to the South African's 84th-minute header, which is good going for a side that had failed to register a single Championship goal in November.
Yet Palace remain vulnerable to predators and Dougie Freedman, the manager, admitted Darren Ambrose, who supplied the cross, could be the subject of a bid next month, as could defender Nathaniel Clyne, who has yet to agree a new contract. "In January I will try to turn my phone off," Freedman said. "There haven't been any offers but it's only December."
Even Wilfried Zaha, although suspended for this match, could soon be on his way although a new five-and-a-half-year deal ensures that Newcastle, or any other Premier League suitor, would have to pay a sizeable fee to lure the 19-year-old away.
City, who now find themselves becalmed in 14th place, settled the quicker although Marton King, their lone striker, fired one effort high and wide before Curtis Davies was also off target at the back post after Guirane N'Daw had headed on a corner.
Mile Jedinak responded with a long-range effort that forced Boaz Myhill into a diving save but the half ended goalless thanks to David Murphy's perfectly-timed tackle in his own box on Clyne, who had been sent sprinting towards the City goal by Sean Scannell's back-heel.
Palace were by far the better side after the break and it became a question of whether they could find a goal in time. Myhill, the Birmingham goalkeeper, denied them for a while, palming away a Jedinak header from six yards and diving bravely at the feet of other attackers.
A header from Paddy McCarthy, the captain, that rebounded off a post and substitute Jermaine Easter forced another save, this time at his near post but although Birmingham cleared their lines again – just – from the corner, the winning goal was on its way.
Ambrose crossed from the right and Dikgacoi timed his run to perfection to power a header that Myhill, at last, was unable to stop.
Crystal Palace (4-3-3): Speroni; Clyne, McCarthy, Gardner, Parr; Ambrose (Andrew, 87), Dikgacoi, Jedinak; Murray, Martin (Easter, 77), Scannell (Ramage, 90). Substitutes not used Fitzsimmons (gk), Garvan.
Birmingham City (4-5-1): Myhill; Carr, Caldwell, Davies, Murphy; Burke, N'Daw (Elliott, 81), Spector, Fahey, Redmond (Wood, 83); King (Zigic, 70). Substitutes not used Doyle (gk), Ibañez.
Referee K Stroud (Dorset).Reuse content