Lee Novak gave the hosts the lead with a headed effort 15 minutes in as Swansea struggled to find their feet at St Andrew's, but the introduction of Bony at half-time proved pivotal.
The striker scored twice in in the space of two second-half minutes to stage a comeback that looked unlikely in the opening period and send Swansea into the next round of the competition.
The result sees Swansea in the hat for the fifth round draw for the first time since the 2008-09 season.
Lee Clark handed a debut to loan signing Albert Rusnak as he made five changes to the side that lost 2-0 at home to Yeovil Town last weekend, while Michael Laudrup recalled Roland Lamah and Pablo Hernandez after the pair recovered from injuries.
Rusnak – on loan from Manchester City – had an early opportunity for the hosts, cutting in from the left before seeing his eventual effort deflected wide for a corner.
And Clark's men broke the deadlock in the 15th minute as Lee Novak got his head to a Paul Caddis cross, flicking the ball beyond Gerhard Tremmel for a fourth goal in his last six FA Cup appearances.
Swansea were struggling to settle, and Hernandez squandered an opportunity to level matters midway through the opening period when he blasted over from a Neil Taylor cross.
Chris Burke got the better of Chico Flores on the half-hour mark, but fizzed a strike just wide of the target from 18 yards as Birmingham looked to double their advantage.
The men from South Wales had cause for concern 10 minutes before the break when Tremmel appeared to be knocked out in a collision with Paul Robinson, but the German was soon back on his feet and ready to continue.
Defender Jordi Amat – playing in midfield due to a Swansea injury crisis – showed his attacking deficiencies in the closing stages of the first half, scooping over from close range and wasting a glorious opportunity to equalise.
Intent on transforming his side's fortunes in the second half, Laudrup introduced Bony in place of Hernandez at the interval.
Swansea looked marginally better after Bony's arrival, and he was denied by a last-ditch Mitch Hancox tackle on the hour mark, before firing a low shot straight at Colin Doyle in the Birmingham goal.
But the Ivorian proved to be the catalyst for sparing Swansea's blushes by netting a two-minute brace to turn the tie on its head.
The £12 million frontman hammered home a volley from a Lamah cross in the 67th minute, before finishing off an incisive attacking move for his second two minutes later, and Birmingham were unable to bounce back from the visitors' quickfire double.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.