Sebastian Larsson's late equaliser earned 10-man Birmingham a replay.
DJ Campbell gave Birmingham an early lead from Larsson's corner, but Steven Taylor turned in James Milner's corner five minutes before the interval.
Birmingham's Radhi Jaidi was sent off after 43 minutes for hauling down Obefami Martins as he raced clear.
Kieron Dyer then punished Matthew Upson's error to put Newcastle a after 54 minutes, but Larsson levelled on the turn four minutes from time.
Birmingham were in the ascendancy early on, and it was no surprise when they took the lead after 15 minutes.
Larsson's corner was headed into the six-yard area by Upson and Campbell was on hand to prod home.
606 DEBATE: Your predictions for the replay
Newcastle's makeshift line-up was struggling to settle, and defender Taylor was grateful a defensive header that was too strong for keeper Shay Given rolled wide for a corner.
Taylor then scrambled an effort from Nicklas Bendtner off the line before he grabbed an equaliser for Newcastle five minutes before the interval.
He stole in unmarked on to Milner's corner at the near post to steer a finish past Maik Taylor.
And Birmingham suffered another blow after 43 minutes when Jaidi was sent off for hauling down Martins after his pace proved too much.
Milner's resulting free-kick was well saved by Taylor and the youngster also struck the bar with another set-piece before Newcastle's bright start to the second half was rewarded after 54 minutes.
Upson was guilty of a crucial error, allowing Martins' pass to roll into the path of Dyer, who made no mistake.
Birmingham's hopes suffered a setback when Bendtner was stretchered off with what looked like an ankle injury after an innocuous fall.
But the spirit of Steve Bruce's side was undeniable, and they equalised just as time was running out, Larsson shooting high past Given from eight yards after Damien Johnson's cross found its way to the post.
Birmingham: Maik Taylor, Kelly (Martin Taylor 34), Jaidi, Upson, Sadler, Larsson, Johnson, Muamba, McSheffrey, Bendtner (Kilkenny 71), Campbell (Danns 46).
Subs Not Used: Doyle, Clemence.
Sent Off: Jaidi (43).
Goals: Campbell 15, Larsson 86.
Newcastle: Given, Solano, Huntington, Taylor, Edgar, Milner, Dyer, Butt, Pattison, Sibierski (O'Brien 46), Martins.
Subs Not Used: Srnicek, Luque, Carroll, LuaLua.
Booked: Butt.
Goals: Taylor 40, Dyer 54.
Att: 16,444
Ref: M Dean (Wirral).