Points and honours were shared at St Andrews after Birmingham and Portsmouth played out a match that never really got out of first gear.
The best chance of the first half fell to Portsmouth's Lomana Tresor LuaLua in the second minute, when he put his header just wide.
Emile Heskey and Walter Pandiani went close for Birmingham just after the restart as the pace finally picked up.
The home side seemed more interested in winning but never did enough to do so.
LuaLua's early effort was one of the few memorable moments in a generally lacklustre first half, which was largely free of goalmouth incident.
Stan Lazaridis' off-target volley was all Birmingham had to show for the first Portsmouth's Gary O'Neil drew a good save from Maik Taylor in between a looping goal-bound header by Heskey and a good shot by Pandiani
The introduction of Julian Gray and Clinton Morrison gave Birmingham more options and they posed more threat up front, but the longer the game went without a goal, the less likely one seemed.
Substitute Patrik Berger had one of Portsmouth's best chances of the match in the 87th minute when he tested Taylor from long range, but the Northern Ireland keeper smothered his shot and any danger it presented.
Birmingham almost stole the points in stoppage time, when Mario Melchiot broke clear on the right and fired the ball across the Portsmouth goalmouth, but it was just beyond the reach of Heskey.
Birmingham boss Steve Bruce
"It was painful at times - we had the better chances but it would be unfair to say we deserved to win.
"Portsmouth are fighting for their lives and they'll be delighted with a point.
"The game was crying out for someone to put their foot on the ball and take a pass and that didn't happen."
Portsmouth boss Alain Perrin
"We need five more points - then we will be definitely safe.
"We have a big week ahead with the home game with Liverpool and the derby
against Southampton and we still have work to do.
"I am happy to pick up a point from Birmingham. That was the target when we
came here."
Birmingham: Maik Taylor, Melchiot, Cunningham, Upson, Clapham, Pennant, Johnson, Nafti (Carter 76), Lazaridis (Gray 59), Heskey, Pandiani (Morrison 59).
Subs Not Used: Blake, Vaesen.
Booked: Nafti.
Portsmouth: Ashdown, Cisse, De Zeeuw, Primus, Griffin, Stone (Berger 64), O'Neil, Hughes, Skopelitis (Mezague 83), Kamara (Fuller 71), LuaLua.
Subs Not Used: Hislop, Rodic.
Booked: Cisse, Kamara.
Att: 28,883.
Ref: P Walton (Northamptonshire).