Match ends, Birmingham City 0, Yeovil Town 2.
James Hayter scored twice in seven first-half minutes as Yeovil moved within four points of safety with a win at Birmingham.
Hayter made the most of a Hayden Mullins error to prod the Glovers ahead in the 12th minute.
The striker added a second, taking his tally to six in four matches, when he headed in Joe Ralls's cross.
Lee Novak hit the bar for the hosts and Yeovil goalkeeper Marek Stech blocked a header from Brian Howard.
The win was just Yeovil's fifth victory in 25 league matches this season.
Mullins gave them a helping hand when his failed attempt to head back to Darren Randolph allowed Hayter, 34, a simple finish.
Randloph pulled off impressive saves from Ralls and Moore but was beaten again when Hayter glanced in.
Novak's header came back off the bar as Birmingham looked for a way back before Stech's close-range save from Howard ended the home side's hopes.
Birmingham assistant manager Terry McDermott:
"To say we are disappointed is an understatement.
"We actually played quite well in the first half when we created a lot of chances.
"The second half became more difficult. When you park 10 men behind the ball it is difficult to break. We should have dealt with the two goals and we paid the penalty."
Yeovil manager Gary Johnson:
"We are still battling and the boys showed a great spirit. That spirit will keep us in the hunt for a big part of the season. I was very proud of the boys' effort and performance.
"James Hayter has been a super striker for a long time.
"When he gets himself in those positions he is a very good finisher. He doesn't panic and he took his goals extremely well."
- 29BrownSubstituted forElliottat 68'minutes
- 19ZigicSubstituted forFergusonat 61'minutes
- 10HowardSubstituted forShinnieat 79'minutes
- 6BakayogoSubstituted forMcAllisterat 37'minutesSubstituted forLanzoniat 53'minutes
- 9HayterSubstituted forDawsonat 78'minutes
- 19RallsBooked at 25mins
- Fred Graham
- Shots on Target
Second Half ends, Birmingham City 0, Yeovil Town 2.
Corner, Yeovil Town. Conceded by Mitch Hancox.
Corner, Birmingham City. Conceded by Joe Edwards.
Attempt blocked. Wade Elliott (Birmingham City) right footed shot from the centre of the box is blocked. Assisted by Paul Caddis.
Shane Ferguson (Birmingham City) wins a free kick in the defensive half.
Foul by Matteo Lanzoni (Yeovil Town).
Attempt missed. Mitch Hancox (Birmingham City) left footed shot from the left side of the box is too high. Assisted by Shane Ferguson.
Attempt blocked. Chris Burke (Birmingham City) left footed shot from outside the box is blocked. Assisted by Paul Caddis.
Corner, Birmingham City. Conceded by Matteo Lanzoni.
Offside, Yeovil Town. Kieffer Moore tries a through ball, but Joel Grant is caught offside.
Foul by Oliver Lee (Birmingham City).
Joe Ralls (Yeovil Town) wins a free kick in the defensive half.
Attempt saved. Oliver Lee (Birmingham City) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Shane Ferguson.
Attempt missed. Joe Ralls (Yeovil Town) left footed shot from outside the box is high and wide to the left. Assisted by John Lundstram.
Attempt missed. Wade Elliott (Birmingham City) header from the centre of the box misses to the left. Assisted by Paul Caddis with a cross.
Andrew Shinnie (Birmingham City) wins a free kick in the attacking half.
Foul by Byron Webster (Yeovil Town).
Foul by Paul Robinson (Birmingham City).
Kieffer Moore (Yeovil Town) wins a free kick in the attacking half.