Josh Bowler scored the only goal of the game as Cardiff City snatched a 1-0 win over Birmingham City at St Andrew's.

It was a high-octane match, with chances at both ends, but it was a sweetly-struck finish from the Nottingham Forest loanee, the fourth of the season for him, in the second half which earned Erol Bulut's side all three points in the Midlands.

An injury-hit Bluebirds named only 19 players in their matchday squad, with no Mahlon Romeo nor Callum Robinson included. There was, however, a rare start for Aaron Ramsey, his first since September, but it wasn't to last. More on that later.

WHATSAPP: Join the Cardiff City breaking news and top stories WhatsApp community

The crowd at St Andrew's were on a knife edge, with supporters firmly in the knowledge of just how important this fixture was for their survival, with every positive piece of play cheered and every nervy moment very much felt.

With Blues keen to really go for it, it made for an exciting, end-to-end game, with the hosts almost getting on the scoresheet early thanks to Koji Miyoshi's low drive from 20 yards, but it smashed straight into the post, with Ethan Horvath rooted to the ground.

Cardiff would have to wait half an hour before they registered a serious shot on goal and it came by virtue of an impressive, driving run from the ever-industrious Karlan Grant. The West Brom loanee picked the ball up inside his own half and ran 30, 40 then 50 yards before chopping inside, when he saw the ball fall kindly into Yakou Meite's path. The striker's hammered shot from the edge of the box, however, was straight at John Ruddy.

Birmingham tried to hit back straight away with their own chance and it was a lovely strike from Wales' Jordan James, whose bending shot from just outside City's area arced inches wide of the mark.

Birmingham's willingness to take the attack to Cardiff actually played into the Bluebirds' hands a little, because it naturally opened up the game and gave the visitors more natural opportunities to break, while playing pretty minimal football.

Ramsey was even picking up pockets of space and looking to free up the likes of Grant and Bowler, but one moment seemed to spell the end for the Wales captain. Miyoshi flicked the ball over Ramsey's head and he turned to chase after it before his face screwed into a very visible wince. He spent the next 10 minutes before the break hobbling and limping around, while Rubin Colwill was given the order to get stripped and ready. He managed to hold on to half-time, just, but it was another disappointing sight in what has been a frustrating homecoming season for the Bluebirds midfielder.

Colwill did replace Ramsey at the break, but had to wait 20 minutes before his crucial intervention. Birmingham came out hot after the break and the crowd really got behind them. Cardiff, however, weathered the storm admirably.

As Birmingham pushed, more gaps opened for Cardiff and that is when the visitors struck. Bowler played Colwill in down the flank and the Welshman fizzed a perfectly-weighted, low ball back into the Forest man. Bowler instinctively hit it and, despite nothing going right for him up to that point, watched as the ball buried itself into the bottom corner.

There was also a Championship debut for Cian Ashford, a proud moment for him and his family, as Cardiff pushed to extend their lead. Colwill found Grant in the box a couple of times in quick succession, but the winger's shots were frustratingly blocked or deflected wide of the mark.

Birmingham pushed late on, but Cardiff's defence, and goalkeeper, stood firm amid the onslaught. With Bulut's future undecided, how important that result will be for his own future remains to be seen.

Birmingham City XI: Ruddy; Laird, Aiwu, Sanderson, Buchanan (Drameh 70); Bielik (Hogan 79); Miyoshi (Anderson 70), James (Pritchard 70), Paik, Bacuna (Gardner 86); Stansfield

Subs: Etheridge, Sunjic, Dozzell, T Roberts.

Cardiff City XI: Horvath; Ng, Goutas, Phillips, Collins; Ralls (Turnbull 81), Siopis; Bowler (Ashford 70), Ramsey (R. Colwill 46), Grant; Meite (Diedhiou 70).

Subs: Turner, Sawyers, J. Colwill, Tanner.

FULL-TIME! Birmingham City 0-1 Cardiff City

That's that!

90+4

Corner to Cardiff. Could be the last play, this.

90+3

Cardiff clear and Grant forces a throw-in. And breaaaaathe.

90+2

Top defensive heaader from Ng at the back post, then Nat Phillips makes a mgnificent interception. Corner Birmingham. The keeper is up!

90

Four minutes added.

90

Blues relly pushing. Cardiff pinned here.

86

Nice move there from Cardiff. Culminates in Collins' shot from 20 yards being blocked, though.

85

A good cross from Laird is deflected and into the arms of Horvath, who has been pretty busy tonight.

82

A header is flicked on from a Blues free-kick and Horvath holds well.

81

Ralls off for Turnbull.

79

Bielik goes down clutching his face after contact with Joe Ralls.

74

Two efforts from Grant, both blocked. Second over the bar for a corner. Couple of big chances there.

73

Ralls in the book. Brings down Bielik.

71

Bowler off, Cian Ashford on.

Meite off, Diedhiou on.

71

Grant sees the ball land at his feet on the edge of the box. He fashions some room but Ruddy saves from the poked shot.

GOAL! Birmingham City 0-1 Cardiff City (Bowler 65)

GOAL! BOWLER!!!

Bowler feeds Colwill, who plays a brilliant pass back into him and the winger, for whom nothing has gone right this evening, buries it smartly with a one-touch finish. 1-0 to Cardiff.

64

Another smart gather from Horvath in a dangerous situation.

62

Neat little pass in behind for Bowler from Colwill, but the winger cannot get on the end of it.

60

Top work from Horvath, who comes flying off his line to collect a chipped cross.

58

Cynical foul from Bowler. He goes in the book after bringing down Lee Buchanan on the break.

58

"Erol Bulut's barmy army," sing the away fans.

55

Birmingham have started this half the better of the two sides. Cardiff cannot get their foot on the ball at the moment.

54

Bielik in the book for bringing down Bowler - who rips his shirt in the process.

52

Miyoshi breaks but Collins does a fantastic job in slowing him down and forcing a dicey cross. Cardiff can then clear.

51

Sanderson takes out Bowler, who looks to break away - but no yellow card for him.

47

Ng booked for pulling Bacuna's shirt.

46

Back under way!

HALF-TIME!

That's the end of the first half.

45+4

What a hit from Goutas! He belts one from 30 yards and it whistles wide!

45+3

Phillips heads from Ralls' corner - over the bar.