The Swans progressed to the fifth round of the FA Cup following a stirring second-half comeback against Birmingham at St Andrew's.
The home side took an early lead when Lee Novak headed in from a Paul Caddis cross, and the Championship side could have extended their lead in an impressive first-half display.
But the Swans responded well after the break and Wilfried Bony – on as a substitute – scored a deserved equaliser when he volleyed home a Roland Lamah cross.
And the Ivorian scored his 16th goal of the season just two minutes later when he coolly rounded Colin Doyle and fired into the roof of the net.
Michael Laudrup made five changes to the team that lost at home to Spurs last weekend.
Pablo Hernandez returned from the hamstring injury that ruled him out of the previous three matches, while Dwight Tiendalli and Neil Taylor replaced Angel Rangel and Ben Davies, with the latter dropping to the bench.
Roland Lamah started out wide and Alvaro Vazquez replaced Wilfried Bony in attack.
SWANS: Gerhard Tremmel, Dwight Tiendalli, Chico Flores, Ashley Williams (capt), Neil Taylor, Leon Britton, Jordi Amat, Alejandro Pozuelo, Pablo Hernandez (Wilfried Bony, 46), Roland Lamah, Alvaro Vazquez (Wayne Routledge, 64).
SUBS: David Cornell, Ben Davies, Jazz Richards, Lee Lucas, Wayne Routledge, Rory Donnelly, Wilfried Bony.
BIRMINGHAM: Colin Doyle, Paul Caddis, Will Packwood, Paul Robinson (capt), Mitchell Hancox, Olly Lee (Peter Lovenkrands, 81), Reece Brown, Chris Burke, Albert Rusnak, Shane Ferguson (Tom Adeyemi, 73), Lee Novak.
SUBS: Nick Townsend, Hayden Mullins, Callum Reilly, Brian Howard, Demarai Gray, Tom Adeyemi, Peter Lovenkrands.
Both sides struggled to assert themselves on the game in the early stages as the rain and blustery conditions played havoc in the Midlands.
However, it was the home side who took the lead on 14 minutes as Paul Caddis curled in a cross from the right that was headed home by Lee Novak.
And the hosts nearly doubled their lead moments later as Dwight Tiendalli's poor headed clearance fell straight to Albert Rusnak, but his low shot was cleared off the line by Ashley Williams.
The visitors had to wait until the 24th minute for their first effort on goal, meanwhile, as Neil Taylor's cross from the left found its way to Pablo Hernandez at the far post but his half volley flew narrowly over the crossbar.
But Birmingham continued to press and look the more likely to double their advantage, notably when Chris Burke got the better of Chico Flores in midfield before seeing his low shot go the wrong side of the right-hand post.
The Swans should have drawn level shortly before half-time as Hernandez's free kick to the far post was nodded down by Flores but Jordi Amat saw his volley from six yards go over the bar.
And Laudrup's men had another chance in the final minute of the opening period when Alejandro Pozuelo played in Alvaro Vazquez down the left side of the box but the striker's low centre just evaded Pozuelo as he looked to tap home.
But Birmingham again went the closest as defender Mitch Hancox cut in from the left side before seeing his curling shot superbly tipped over by Gerhard Tremmel in the Swans goal.
HALF-TIME: Birmingham 1 Swans 0
The Swans made one change at the break as Wilfried Bony replaced Pablo Hernandez, and Roland Lamah had an early chance but he couldn't divert a shot on target from Pozuelo's cross from the right.
Bony had a golden chance to level himself on the hour mark as Vazquez played him in on goal, but Mitch Hancox denied the Ivorian with a superb last-ditch challenge.
The striker went close again just two minutes later as Pozuelo sent him clear with a neat pass, but his low drive was well saved by Colin Doyle.
Michael Laudrup then made his second change of the afternoon as Wayne Routledge replaced Vazquez, and the visitors were rewarded for their second half showing with a deserved equaliser on 67 minutes.
Jordi Amat surged clear in midfield, feeding the ball left to Lamah and his cross was superbly volleyed into the bottom right hand corner by Bony, giving Doyle no chance in the Birmingham goal.
The Swans then made it two goals in two minutes as a blistering counter attack saw Lamah find Pozuelo, who fed Bony, and the striker took the ball round the keeper before firing into the roof of the net.
Birmingham came close when Burke's volley was deflected over the crossbar, and Reece Brown had an opening in the final minute inside the box, but his low shot was comfortably saved by Tremmel as Swansea booked their place in the fifth round of the competition.