Goalkeeper Shay Given produced a superb display to earn Manchester City a point which their below-par performance barely deserved against Birmingham at St Andrews.
The former Newcastle player made a string of fine saves, the highlight a second-half penalty stop to deny James McFadden.
It was a fourth successive draw in the Barclays Premier League for Mark Hughes' side, who missed out on the chance to move into the top four.
In the ninth minute, Christian Benitez came close to giving Birmingham the lead. His low 20-yard drive took a deflection off Vincent Kompany and Given impressively tipped the ball against his left-hand post.
City tried to retaliate - and Maik Taylor, replacing on-loan City man Joe Hart in goal, was unable to cling on to a fierce drive from Wright-Phillips, forcing Stephen Carr to make the clearance with Roque Santa Cruz lurking
Ferguson became the first player to be yellow-carded after 27 minutes, when blocking off a touchline run from Craig Bellamy.
Taylor blocked a point-blank-range effort from Santa Cruz after good play by Carlos Tevez and Wright-Phillips down the right flank.
Given again excelled himself when saving a fierce attempt from Bowyer, before Scott Dann was yellow-carded in first-half injury-time for a challenge on Tevez.
Alex McLeish's side had a golden chance to take the lead after 56 minutes when De Jong handled the ball in an aerial challenge with Larsson and conceded a penalty. But Given was again his side's saviour as he dived away to his left to keep out McFadden's spot-kick.
There was a rare threat to the Birmingham goal when Taylor tipped over a Tevez cross shot as Birmingham edged further away from the bottom three. But their afternoon was soured when Ferguson earned his red card after petulantly knocking the ball out of Pablo Zabaleta's hands as he attempted to take an injury-time throw.
Copyright (c) PA Sport 2009, All Rights Reserved.