Birmingham battled to secure a crucial point in their relegation fight as they moved out of the drop zone after a 1-1 draw at 10-man West Ham.
Freddie Ljungberg gave the Hammers the lead on seven minutes when George McCartney's long throw in was flicked on by Carlton Cole and the Swede swept home at the far post.
That lead lasted just nine minutes as the visitors hit back through a James McFadden penalty. Maik Taylor's long punt forward was nodded on by Cameron Jerome for McFadden but Lucas Neill hauled down the Scottish international - who stepped up himself to score from the spot.
Dean Ashton and Matthew Upson both squandered great chances to restore the Irons' lead, while at the other end Mikael Forssell was inches away from finding the target for the visitors.
Lee Bowyer saw red with two minutes to go after a poor challenge on Damien Johnson.