Birmingham City's relegation worries deepened as they were beaten 1-0 by Cardiff City at St Andrew's on Wednesday.
The Blues had the better of proceedings, Koji Miyoshi hitting the post in the first half, before Juninho Bacuna forced a save from Ethan Horvath.
But while enjoying their most dominant period of the game, Birmingham were hit with a sucker-punch at the other end of the pitch when Josh Bowler turned in Rubin Colwill's low cross.
Cardiff came to life after the goal and could have doubled their lead through Karlan Grant, who had a number of late chances to put the game to bed.
It mattered not though, as Cardiff held on to increase the pressure on Birmingham, who remain in 23rd and one point from safety with four Championship games to play.
Time is running out for Birmingham City, who have endured a turbulent season in the Championship.
In the build-up to Wednesday's game chairman Tom Wagner admitted the club were too quick to fire John Eustace as manager before appointing Wayne Rooney in October.
Rooney was subsequently replaced with Tony Mowbray, who is on a formal medical leave of absence, and Gary Rowett is back at the club for a third time to try and steer the Blues away from relegation to League One.
Rowett spoke of "needing results, not words" when he took charge, but has now overseen a third defeat from four games.
It could have been very different on another day for Birmingham, who were unlucky to see Miyoshi's shot bounce back off the base of the left post early on.
Cardiff rarely threatened in the first half, though John Ruddy had to be alert to save Yakou Meite's shot after a powerful driving run from Grant.
Paik Seung-ho was the next to threaten for the Blues, and after his initial shot was blocked by Liverpool loanee Nat Phillips, Bacuna could only shoot straight at Horvath.
Jordan James was inches away from opening the scoring shortly before half-time, and the Wales international was unfortunate to see his first-time curling effort go a whisker wide of the post.
Aaron Ramsey, who was back in the starting line-up for Cardiff, was replaced by Colwill who was at the centre of everything positive for the Bluebirds in the second half.
It was Birmingham who looked the most likely to break the deadlock after the break, despite never really testing Horvath.
And they were made to pay for the lack of clinical edge shown in the final third, when Bowler and Colwill exchanged a one-two which put the ball on a plate for the Nottingham Forest loanee to score first time into the bottom corner.
The goal took the sting out of Birmingham City's attack, and from that point on the Bluebirds looked the most likely to score.
Cardiff manager Erol Bulut handed a league debut to youngster Cian Ashford late on, who looked bright and started a dangerous counter-attack which almost sealed the win, but Grant saw his shot deflected wide for a corner.
The Bluebirds held on in the final minutes, as Bulut's side move onto 59 points - still mathematically in the play-off race despite being in 11th.
Birmingham City: Ruddy, Laird, Buchanan (Pritchard 70’), Sanderson ©, Bielik (Hogan 79’), Bacuna (Gardner 86'), Miyoshi (Drameh 70’), Paik, James (Anderson 70’), Stansfield, Aiwu. Subs not used: Etheridge, Roberts, Dozzell, Sunjic.
Cardiff City: Horvath, Ng, Goutas, Phillips, Collins, Siopis, Ralls © (Turnbull 80’), Ramsey (R Colwill 46’), Bowler (Ashford 71’), Grant, Méïté (Diédhiou 71’). Subs not used: Turner, Sawyers, J Colwill, Tanner.