Gary McSheffrey's second-half header was enough to sink a gritty Stoke side and hand Birmingham their first league win since Boxing Day.
Blues struggled to find their best form during the game but McSheffrey nodded in Nicklas Bendtner's excellent 71st-minute cross to end a run of four league matches without a win and close the gap on Coca-Cola Championship leaders Derby to six points.
Lee Martin and Ricardo Fuller had chances for Stoke but Bendtner looked the class player in a patchy match, and it was fitting that the Dane should find the inspiration to earn Steve Bruce's men the points.
Stoke, without suspended duo Darel Russell and Salif Diao, matched their opponents early on and in the 23rd minute youngster Lee Martin fired just wide from 12 yards following a throw-in from Carl Hoefkens which Mathew Sadler had failed to clear.
Cameron Jerome thought he had put Blues in front in the 31st minute when he turned the ball in at the far post after Bendtner had flicked on another McSheffrey cross but the former Cardiff frontman was ruled offside - even though he appeared to be in a legitimate position when the ball was nodded in his direction.
Ricardo Fuller was causing plenty of problems for the home defence, testing goalkeeper Colin Doyle in the 37th minute after showing good skill to make room for a shot from the edge of the area.
Four minutes before the break Bendtner controlled Sadler's high cross with his chest and volley it goalwards but Steve Simonsen demonstrated brilliant reflexes to push the on-loan Arsenal man's 15-yard effort around the post.
Bendtner went close again in the 44th minute, climbing the highest to reach Fabrice Muamba's cross but heading it just wide.
The home side had an escape seconds later when Fuller beat Doyle to a long ball but the forward failed to pick out a team-mate inside the penalty area and a relieved Doyle was able to gather it.
Half-time interrupted Birmingham's flow, however, and they struggled to create chances in the early part of the second half.
Bendtner's fierce angled effort in the 59th minute was the only time Simonsen was tested in the opening stages and Blues boss Steve Bruce was met with boos from some home fans when he sent on Rowan Vine and Sebastian Larsson for Stephen Clemence.
But - after Martin had missed a great chance for Stoke - those jeers turned to cheers when Bendtner's cross from the right was headed in at the far post by the unmarked McSheffrey to send Blues second in the Championship.Reuse content