Birmingham - Bafetimbi Gomis' late strike clinched a deserved 1-0 win for Swansea as Aston Villa failed to climb away from the Premier League relegation zone on Saturday.
The forward bagged his sixth goal of the season with just three minutes left as the game looked to be heading towards a stalemate. Jefferson Montero's excellent low centre ball found Gomis who fired in from six yards.
Gomis had been denied twice by Brad Guzan, and Wayne Routledge had a shot cleared off the line as the Swans made most of the running at Villa Park.
Villa struggled to create and remain three points clear of the bottom three with Swansea eighth.
Scott Sinclair almost equalised late but volleyed over from 10 yards.