Birmingham boss Alex McLeish had to be content with a point after his side let slip a one-goal lead against Reading.
Alex McLeish gives the thumbs-up to the Birmingham supporters
Striker Mikael Forssell opened the scoring, bundling the ball home from close range after only four minutes.
Reading equalised minutes after the break when Stephen Hunt scored from the spot after keeper Maik Taylor had brought down the midfielder.
Gary McSheffrey's free-kick hit the post for Birmingham while Reading's Ibrahima Sonko cleared off the line.
The result leaves Birmingham only a couple points adrift of the bottom three and McLeish knows his side spurned the chance to take maximum points.
Birmingham missed a host of chances and hit the woodwork twice in a frantic second half but with Reading keeper Marcus Hahnemann in fine form they had to be content with just a point.
McLeish was given a standing ovation as he was introduced to the Birmingham fans for the first time at St Andrews prior to the game.
And just four minutes later they were on their feet again, to celebrate Forssell's opener.
The Finn bundled the ball home from close range after his initial header from McSheffrey's corner was cleared off the line from Nickey Shorey.
Forssell and strike partner Cameron Jerome looked lively for the Blues and caused the Reading defence problems with their pace and movement.
Reading were forced to make a change after 27 minutes when midfielder Brynjar Gunnarsson suffered a knee injury and was replaced by Kalifa Cisse.
And then Reading skipper Graeme Murty became the first player to be yellow-carded after 38 minutes for bringing down Muamba in full flight.
Mikael Forssell celebrates his opener for Birmingham
Johnson quickly followed him into referee Lee Probert's note-book after blocking the run of Hunt down the right flank.
The visitors had their best chance of the opening 45 minutes just before the break, with midfielder James Harper firing straight at Birmingham keeper Taylor, who did well to close down the angle and make it tough for the midfielder.
Reading did equalise though and it came within minutes of the re-start.
Hunt latched onto a weak back-pass from defender Mat Sadler and then took the ball round Taylor, who brought down the Irishman.
Hunt sent his penalty right down the middle to level matters at 1-1.
As the game wore on Jerome continued to create chances for himself and he was unlucky to see his header superbly kept out by Hahnemann from close range.
Birmingham captain Liam Ridgewell was fortunate to stay on the field after he was only given a yellow card for a late, two-footed lunge on Reading midfielder Bobby Convey.
The Blues then hit the woodwork twice in a matter of seconds after McSheffrey hit the crossbar before Sonko's clearance off the line hit the bar.
Despite Birmingham's second-half pressure it was Reading who nearly stole all three points, but Hunt side-footed wide late on.
Birmingham boss Alex McLeish:
"It was a decent performance but I think we know that we should have taken the three points.
"We made a great start but despite how many chances we created we just couldn't get the ball in the net after our first goal.
"The equaliser was a calamity and the player knows that next time he should put the ball in the stand."
Reading boss Steve Coppell:
"The goal we gave away in the first half was a nonsense goal as far as we were concerned.
"But it's another point on the board. I thought the commitment of both sides was terrific. The purist might say the game could have been more pleasing on the eye.
"But you saw a game between two sides desperate to get three points which was played at a frenetic and incredible pace."
Birmingham: Maik Taylor, Kelly, Schmitz, Ridgewell, Sadler, Larsson, Johnson, Muamba, McSheffrey, Forssell (O'Connor 75), Jerome.
Subs Not Used: Doyle, De Ridder, Parnaby, Jaidi.
Booked: Johnson, Ridgewell.
Reading: Hahnemann, Murty, Sonko, Ingimarsson, Shorey, Hunt, Harper, Gunnarsson (Cisse 28), Convey (Long 84), Doyle, Kitson.
Subs Not Used: Federici, Lita, Bikey.
Ref: Lee Probert (Wiltshire).