And had it not been for former Manchester United player Kusczak’s brilliance and some sloppy finishing Cardiff would have been out of site at the interval.
With takeover rumours dominating the build-up to the game, it took Gary Rowett’s Birmingham side 50-minutes to hit their stride.
When they did, Scotland international Marshall was equal to the task – though substitute Storer should have scored.
The pace slowed in the energy-sapping heat, and Immers’ late effort almost stole all the points for Cardiff.
Birmingham City manager Gary Rowett:
“It was probably the right result on the overall reflection of the game. I don’t think we deserved to win the game but we didn’t deserve to lose.
“To keep a clean sheet was a real positive and some strong displays from Ryan Shotton and Tomasz Kuszczak played leading roles in the game.
“I admit that I am trying to bring in two players that will give us a bit more quality and win us games in the final third. We certainly need to improve in that area.”
Cardiff City boss Paul Trollope:
“There is an influence from the Euros. Obviously a few teams used it in the Euros like the team I worked with. A lot of teams have used this system and got out of this division.
“With the players I have at my disposal at the moment I think it is a good way for us to go.”
“We came with positive intentions to win the game but were frustrated we didn’t win. We controlled good spells which was pleasing. We want to be progressive and dynamic but it is what happens in the box.
“The signs are good and we defended when we were put under pressure. It is, however, a work in progress and hopefully we will improve. A clean sheet on the road is not bad.”
Match ends, Birmingham City 0, Cardiff City 0.
Second Half ends, Birmingham City 0, Cardiff City 0.
Attempt blocked. Jacques Maghoma (Birmingham City) right footed shot from outside the box is blocked. Assisted by Jonathan Grounds.
Attempt blocked. Jonathan Grounds (Birmingham City) left footed shot from the left side of the box is blocked.
Foul by Bruno Ecuele Manga (Cardiff City).
Clayton Donaldson (Birmingham City) wins a free kick in the attacking half.
Attempt missed. Lex Immers (Cardiff City) right footed shot from outside the box is high and wide to the right following a corner.
Corner, Cardiff City. Conceded by Ryan Shotton.
Attempt saved. Craig Noone (Cardiff City) right footed shot from outside the box is saved in the bottom left corner. Assisted by Declan John.
Attempt missed. Craig Noone (Cardiff City) left footed shot from outside the box is high and wide to the left. Assisted by Lex Immers.
Substitution, Birmingham City. Robert Tesche replaces David Davis.
Peter Whittingham (Cardiff City) wins a free kick on the left wing.
Foul by Jack Storer (Birmingham City).
Substitution, Cardiff City. Craig Noone replaces Anthony Pilkington.
Substitution, Cardiff City. Stuart O’Keefe replaces Joe Ralls.
Attempt missed. David Davis (Birmingham City) left footed shot from outside the box is too high. Assisted by Stephen Gleeson.
Corner, Cardiff City. Conceded by David Davis.
Attempt missed. Anthony Pilkington (Cardiff City) right footed shot from the right side of the box misses to the left. Assisted by Kenneth Zohore.
Corner, Cardiff City. Conceded by Michael Morrison.
Foul by Kenneth Zohore (Cardiff City).
Michael Morrison (Birmingham City) wins a free kick in the defensive half.
Attempt saved. Jack Storer (Birmingham City) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt missed. Jack Storer (Birmingham City) right footed shot from outside the box misses to the right. Assisted by Jacques Maghoma.