Match ends, Birmingham City 1, Burnley 2.
Burnley moved to within two points of Championship leaders Middlesbrough with a narrow win against Birmingham City.
George Boyd got the Clarets' opener when he struck from the edge of the area into the bottom corner.
Jacques Maghoma equalised after Tom Heaton could only parry on-loan Arsenal midfielder Jon Toral's effort.
Boyd's cross allowed Andre Gray to score his 24th of the season for the winner, before Toral was sent off in injury time for a second yellow card.
Sean Dyche's side have stretched their unbeaten run to 19 games as they look for an immediate return to the Premier League.
The Clarets's next game is at home to top-of-the-table Boro on Tuesday night at Turf Moor.
Burnley keeper Heaton produced smart saves from Toral and David Cotterill as they went into the break ahead, while Jonathan Grounds hit the crossbar in the second-half for Blues.
The Clarets created numerous chances themselves as Dave Jones shot wide and Ashley Barnes drilled into the side netting before Gray's side-foot volley secured three points.
Toral was dismissed in the closing moments when his challenge on Lloyd Dyer brought a second booking.
Birmingham City manager Gary Rowett:
"It's frustrating because we were fantastic. We were the better team. It was a really strong performance at a difficult point of the season against an excellent Burnley side.
"Jacques Maghoma had his face kicked off in the penalty box after four minutes. It was a blatant penalty but the referee said he didn't see it.
"Probably Burnley are going to be promoted. They manage to get results in games they do not play well in. But that is a skill in itself and you have to take your hat off to them."
Burnley manager Sean Dyche:
"George Boyd was tireless in his work and his quality was outstanding, while the response of the team after they equalised was to be admired.
"There is a great belief among the players and there is certainly energy and desire.
"We are in a good place for a reason. I was very pleased with the way we played."
- 11CotterillSubstituted forFabbriniat 79'minutes
- 20ToralBooked at 90mins
- 19MaghomaSubstituted forLaffertyat 79'minutes
- 23WardBooked at 37mins
- 37ArfieldSubstituted forDyerat 60'minutes
- 8MarneyBooked at 84mins
- 13BartonSubstituted forJonesat 45'minutes
- 21BoydBooked at 71mins
- 7GraySubstituted forTarkowskiat 89'minutes
- Mark Heywood
- Shots on Target
Second Half ends, Birmingham City 1, Burnley 2.
Second yellow card to Jon-Miquel Toral (Birmingham City) for a bad foul.
Lloyd Dyer (Burnley) wins a free kick in the defensive half.
Foul by Jon-Miquel Toral (Birmingham City).
James Tarkowski (Burnley) wins a free kick in the defensive half.
Foul by Clayton Donaldson (Birmingham City).
Attempt missed. Diego Fabbrini (Birmingham City) right footed shot from long range on the right is just a bit too high. Assisted by Paul Caddis.
Substitution, Burnley. James Tarkowski replaces Andre Gray.
Attempt blocked. Andre Gray (Burnley) right footed shot from outside the box is blocked. Assisted by Dean Marney with a through ball.
Foul by Michael Keane (Burnley).
Clayton Donaldson (Birmingham City) wins a free kick on the left wing.
Attempt blocked. Kyle Lafferty (Birmingham City) right footed shot from the centre of the box is blocked.
Dean Marney (Burnley) is shown the yellow card for a bad foul.
Diego Fabbrini (Birmingham City) wins a free kick in the attacking half.
Foul by Dean Marney (Burnley).
Attempt blocked. Diego Fabbrini (Birmingham City) right footed shot from outside the box is blocked. Assisted by Maikel Kieftenbeld.
Ashley Barnes (Burnley) wins a free kick on the right wing.
Foul by Ryan Shotton (Birmingham City).
Substitution, Birmingham City. Kyle Lafferty replaces Jacques Maghoma.