Kenny Miller's strike against 10-man Birmingham proved enough for Cardiff to reclaim third spot in the Championship.
The Scotland striker seized on a poor clearance from substitute Pablo Ibanez to smash the ball home from seven yards, giving Boaz Myhill no chance.
The visitors had already seen Curtis Davies sent-off after bringing down Miller on the edge of the area.
Peter Whittingham cannoned the resulting free-kick off the post, before Miller pounced to settle things.
Miller's ninth goal of the season helped Cardiff extend their unbeaten run in all competitions to 10 matches, including a sixth consecutive home win.
The hosts enjoyed the majority of the possession in the early stages and Birmingham took 10 minutes to mount their first serious attack into Cardiff territory.
Even then Nikola Zigic was unable to direct his header from Marlon King's centre on target, while at the other end Aron Gunnarsson lashed high and wide from distance.
Cardiff carved out the game's first effort on target after 34 minutes, when Whittingham received Kevin McNaughton's pass on the edge of the area and cut inside to draw a good save from Myhill.
Birmingham saw little of their opponents' penalty area throughout the first half and Zigic wasted their best chance just before the break.
Former Bluebird Chris Burke delivered a corner from the right, and the tall Serbian should have done better than nod over from 10 yards out.
Moments after the interval, Zigic had an even more gilt-edged opportunity to put the Blues ahead.
Seizing on a fortunate bounce, the striker galloped into the area and had all the time in the world to beat David Marshall in the Bluebirds goal.
But bizarrely Zigic decided to centre for the double-marked King and his errant pass was easily cleared.
Whittingham had first sight of goal in the second half and fired over when well set, while Burke nodded straight at Cardiff keeper Marshall at the other end.
But the tightly contested match turned in Cardiff's favour on 63 minutes when Miller, played clean through on goal, fell under the challenge of Davies on the edge of the box.
Last man Davies saw red, sparking a furious reaction from the Birmingham players, although Whittingham rifled the resulting free-kick against Myhill's right-hand post.
Cardiff soon made their one-man advantage count, however, although their cause was helped by a moment of seasonal generosity from Ibanez.
The Birmingham centre-back tamely nodded Craig Conway's cross into the ground and straight to the feet of Miller and the unmarked Scot picked his spot beyond Myhill.
Whittingham fizzed an effort from 18 yards narrowly past the post and curled another attempt well over as the Bluebirds dominated until the final whistle.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +2:39
Free kick awarded for an unfair challenge on Craig Conway by Keith Fahey. Peter Whittingham restarts play with the free kick.90:00 +0:12
The assistant referee signals for offside against Joe Mason. Indirect free kick taken by Boaz Myhill.89:14
The referee blows for offside. Free kick taken by David Marshall.87:53 Booking
Booking Booking for Chris Burke for dissent.86:56
David Murphy delivers the ball, David Marshall makes a comfortable save.86:12
Centre by Joe Mason, save made by Boaz Myhill.85:26
The assistant referee flags for offside against Kenny Miller. Indirect free kick taken by Boaz Myhill.84:31
Craig Conway crosses the ball.82:59
Craig Conway delivers the ball, Stephen Carr makes a clearance.82:08
Effort on goal by Peter Whittingham from just outside the area goes harmlessly over the target.81:14
Free kick awarded for an unfair challenge on Chris Wood by Peter Whittingham. David Murphy takes the direct free kick.79:13
Unfair challenge on Marlon King by Ben Turner results in a free kick. David Murphy crosses the ball from the free kick left-footed from right channel.77:52
Effort from 20 yards by Chris Wood. Blocked by Ben Turner.77:06
Centre by Kenny Miller.76:28
The referee blows for offside. Indirect free kick taken by Boaz Myhill.75:49
David Marshall restarts play with the free kick.75:49 Booking
Booking Booking for Wade Elliott for unsporting behaviour.75:37
Foul by Wade Elliott on Craig Conway, free kick awarded.75:33
Chris Burke crosses the ball, Craig Conway makes a clearance.
Substitution Chris Wood is brought on as a substitute for Jonathan Spector.73:47
Effort from the edge of the box by Peter Whittingham goes wide of the left-hand post.73:25
Corner taken short by Peter Whittingham.72:15 Substitution
Substitution Jean Beausejour leaves the field to be replaced by Wade Elliott.71:49
The referee blows for offside against Craig Conway. Steven Caldwell takes the indirect free kick.70:36
Joe Mason crosses the ball, Boaz Myhill makes a comfortable save.68:41
Mark Hudson concedes a free kick for a foul on Marlon King. David Murphy restarts play with the free kick.67:46
The assist for the goal came from Craig Conway.67:46 Goal scored
Goal! - Kenny Miller - Cardiff 1 - 0 Birmingham Kenny Miller finds the net with a headed goal from inside the penalty box. Cardiff 1-0 Birmingham.67:44
Craig Conway delivers the ball,66:28 Substitution
Substitution (Cardiff) makes a substitution, with Joe Mason coming on for Filip Kiss.64:22
Mark Hudson concedes a free kick for a foul on Boaz Myhill. Boaz Myhill restarts play with the free kick.63:58 Substitution
Substitution (Birmingham) makes a substitution, with Pablo Ibanez coming on for Nikola Zigic.62:12
Direct strike on goal from the free kick comes in from Peter Whittingham.62:12 Dismissal
Dismissal Curtis Davies receives a red card.61:58
Kenny Miller fouled by Curtis Davies, the ref awards a free kick.60:23
Chris Burke sends in a cross, clearance by Mark Hudson.58:49
Nikola Zigic is caught offside. David Marshall restarts play with the free kick.58:23
Lee Naylor concedes a free kick for a foul on Jonathan Spector. Free kick taken by Stephen Carr.54:28 Substitution
Substitution Mark Hudson joins the action as a substitute, replacing Anthony Gerrard.48:23
Shot by Peter Whittingham from outside the box goes high over the target.47:56 Substitution
Substitution Joe Ralls joins the action as a substitute, replacing Aron Gunnarsson.46:16
Peter Whittingham takes the direct free kick.46:16 Booking
Booking Curtis Davies shown a yellow card.45:56
Free kick awarded for a foul by Curtis Davies on Aron Gunnarsson.45:30
A cross is delivered by Nikola Zigic, clearance made by Anthony Gerrard.45:01
The second half has started.45:00 +2:17 Half time
Half Time The ref blows to signal half-time.45:00 +1:05
Free kick awarded for a foul by Aron Gunnarsson on Marlon King. Boaz Myhill takes the direct free kick.43:32
Nikola Zigic takes a shot from just outside the penalty area which clears the crossbar.41:06
Kenny Miller takes the chance to get an effort at goal. Blocked by David Murphy.38:44
Corner taken right-footed by Chris Burke from the left by-line, Nikola Zigic has a header from close in and clears the crossbar.38:23
Outswinging corner taken by Craig Conway, Nikola Zigic makes a clearance.37:24
Effort on goal by Filip Kiss from just outside the area goes harmlessly over the target.37:03
Kevin McNaughton crosses the ball, Curtis Davies manages to make a clearance.36:25
Nikola Zigic challenges Ben Turner unfairly and gives away a free kick. Free kick taken by Peter Whittingham.35:35
The ball is swung over by Chris Burke, save by David Marshall.34:39
Jean Beausejour sends in a cross, Ben Turner fouled by Nikola Zigic, the ref awards a free kick. David Marshall restarts play with the free kick.33:40
Filip Kiss gives away a free kick for an unfair challenge on Boaz Myhill. Direct free kick taken by Boaz Myhill.33:29
Shot from 20 yards by Peter Whittingham. Boaz Myhill makes a brilliant save.30:33
Craig Conway takes the chance to get an effort at goal. Steven Caldwell gets a block in.27:48
The assistant referee signals for offside against Don Cowie. Boaz Myhill takes the free kick.26:05
The ball is sent over by Craig Conway, clearance made by Nikola Zigic.25:25
Short corner worked by Don Cowie. The ball is delivered by Don Cowie, blocked by Chris Burke.23:40
Filip Kiss gives away a free kick for an unfair challenge on Stephen Carr. Stephen Carr takes the direct free kick.23:01
Marlon King fouled by Peter Whittingham, the ref awards a free kick. Boaz Myhill takes the direct free kick.22:57
Centre by Don Cowie, Jean Beausejour manages to make a clearance.20:59
Free kick taken by Stephen Carr.20:59 Booking
Booking Lee Naylor is booked.20:47
Unfair challenge on Nikola Zigic by Lee Naylor results in a free kick.19:15
Corner taken short by Chris Burke.19:10
Jean Beausejour produces a cross, blocked by Anthony Gerrard.18:20
Free kick awarded for an unfair challenge on Aron Gunnarsson by Curtis Davies. Peter Whittingham takes the direct free kick.18:08
The ball is delivered by Keith Fahey, Ben Turner makes a clearance.17:50
The ball is crossed by Chris Burke, Peter Whittingham manages to make a clearance.17:23
Corner taken by Chris Burke from the right by-line to the near post, Filip Kiss makes a clearance.17:16
The ball is crossed by Chris Burke, blocked by Lee Naylor.13:55
Kenny Miller produces a right-footed shot from the edge of the box and misses to the right of the goal.13:22
Marlon King is flagged offside by the assistant referee. Indirect free kick taken by David Marshall.11:28
Free kick awarded for a foul by Marlon King on Anthony Gerrard. Anthony Gerrard restarts play with the free kick.9:07
The ball is sent over by Marlon King, Headed effort on goal by Nikola Zigic from inside the penalty box misses to the right of the goal.8:19
Foul by Kevin McNaughton on Jean Beausejour, free kick awarded. Direct free kick taken by Boaz Myhill.7:30
A cross is delivered by Stephen Carr, save by David Marshall.5:58
The referee gives a free kick against Don Cowie for handball. Free kick taken by Boaz Myhill.3:34
Lee Naylor produces a cross, Kenny Miller produces a header from inside the area that goes over the bar.2:50
Free kick awarded for a foul by Nikola Zigic on Peter Whittingham. David Marshall takes the free kick.1:39
Handball decision goes against Marlon King. Anthony Gerrard takes the free kick.0:31
Curtis Davies fouled by Kenny Miller, the ref awards a free kick. Boaz Myhill restarts play with the free kick.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers