Match ends, Birmingham City 0, Cardiff City 0.
Gary Rowett's unbeaten start as Birmingham manager continued after a goalless draw against Cardiff.
Rowett has overseen three games since replacing Lee Clark, while Cardiff remain without an away league win.
Cardiff striker Federico Macheda and Birmingham substitute Wes Thomas both had the ball in the net but their strikes were ruled offside.
The home side finished with 10 men as Thomas saw red for an off-the-ball incident with Sean Morrison.
The result means Birmingham remain second-bottom in the table, while Cardiff stay 12th.
Cardiff should have been ahead at the break when Macheda did well to control Peter Whittingham's clever pass but his drilled shot was saved by Darren Randolph.
Macheda had the ball in the net early in the second half, the Italian benefiting from a loose ball following a block by Birmingham captain Paul Robinson, but he was clearly in an offside position.
Rowett introduced Thomas and youngster Demarai Gray from the bench and the change almost paid dividends when Gray's excellent centre was blasted in from close range by Thomas, only for the flag to go up again.
Birmingham striker Clayton Donaldson squandered a good opportunity when he was sent clear, before a heated final few few minutes saw Thomas dismissed by referee Kevin Friend for an incident which left Morrison needing treatment.
Birmingham manager Gary Rowett:
"I'm disappointed with the sending off. I haven't seen the incident again so I'll have to watch it before I make any judgement.
"Wes's reaction suggested he was a bit disappointed to have let one or two people down with what happened.
"There was no real need for him to raise his hand and it meant four or five minutes of hanging on rather than trying to get the winner."
Cardiff manager Russell Slade:
"I think we should have drawn first blood in the match.
"We had two one-on-ones in the first half and should have taken one. In the second half it was a bit end-to-end with two offside goals which were actually offside.
"It's a clean sheet away from home though and that's important. It shows definite progress."
- 11CotterillBooked at 78mins
- 22ShinnieSubstituted forThomasat 53'minutesBooked at 90mins
- 24ArthurSubstituted forGrayat 53'minutes
- 16ConnollyBooked at 84mins
- 6TurnerBooked at 38mins
- 36MorrisonBooked at 90minsSubstituted forGabbidonat 90+4'minutes
- 11NooneSubstituted forda Silvaat 88'minutes
- 10Le Fondre
- 14MachedaBooked at 57minsSubstituted forMaynardat 65'minutes
- 3da Silva
- Kevin Friend
- Shots on Target
Second Half ends, Birmingham City 0, Cardiff City 0.
Corner, Cardiff City. Conceded by Jonathan Grounds.
Substitution, Cardiff City. Danny Gabbidon replaces Sean Morrison because of an injury.
Delay over. They are ready to continue.
Delay in match Sean Morrison (Cardiff City) because of an injury.
Sean Morrison (Cardiff City) is shown the yellow card.
Wes Thomas (Birmingham City) is shown the red card for fighting.
Clayton Donaldson (Birmingham City) wins a free kick in the defensive half.
Foul by Anthony Pilkington (Cardiff City).
Attempt missed. Clayton Donaldson (Birmingham City) right footed shot from the right side of the box misses to the left. Assisted by Stephen Gleeson with a through ball.
Substitution, Cardiff City. Fabio replaces Craig Noone.
Attempt missed. Nicky Maynard (Cardiff City) header from the centre of the box misses to the left. Assisted by Craig Noone with a cross.
Clayton Donaldson (Birmingham City) wins a free kick on the left wing.
Foul by Adam Le Fondre (Cardiff City).
Matthew Connolly (Cardiff City) is shown the yellow card for a bad foul.
Demarai Gray (Birmingham City) wins a free kick on the left wing.
Foul by Matthew Connolly (Cardiff City).
Stephen Gleeson (Birmingham City) wins a free kick in the defensive half.
Foul by Nicky Maynard (Cardiff City).