Gabriel Agbonlahor's late header gave Aston Villa a dramatic victory over city rivals Birmingham.
Gabriel Agbonlahor rises to score Villa's winner
Villa had taken the lead when Stilian Petrov's low cross hit Blues' defender Liam Ridgewell's knee and bounced in.
Birmingham levelled when Daniel De Ridder crossed for Mikael Forssell to head home from close range.
Agbonlahor cleared a Ridgewell header off the line before meeting Ashley Young's cross at the other end and nodding past Blues keeper Maik Taylor.
The victory was Villa's first on their travels since they won at Manchester City on 28 April and, in truth, it was an unlikely triumph.
A draw had looked the fairest result as, although Villa had the best of the early exchanges, the home side had been in charge after the break.
Birmingham actually came out of the blocks quickest too but found themselves behind after Ridgewell's own goal on 11 minutes.
Birmingham defender Ridgewell began his career with Aston Villa
Petrov had done well to reach the bye-line and his dangerous cross embarrassed the former Villa trainee - who only left to join Birmingham in August - when it hit his knee and flew past Taylor.
Villa pushed forward for more and only smart saves by Taylor at his near post denied John Carew and Agbonlahor.
Birmingham were finding it much harder to carve out a chance, although they did have two decent shouts for a penalty when Zat Knight appeared to handle Cameron Jerome's cross and De Ridder was caught by Martin Laursen.
The De Ridder incident was particularly unfortunate for the Blues as, although Laursen undoubtedly made contact with the Dutch winger, referee Steve Bennett booked him for diving.
But Steve Bruce's side continued to fight on and the introduction of Forssell at half-time gave them a way back into the game.
De Ridder was seeing more and more of the ball on the right and it was from one of his crosses that Forssell rose to nod home the equaliser on 62 minutes.
It was no less than Birmingham deserved and they almost took the lead when Scott Carson pushed away Jerome's powerful drive.
Villa were suddenly on the back-foot, although they still threatened when the ball broke to Nigel Reo-Coker in front of goal, only for the midfielder skied his shot hopelessly over the bar.
That had looked like the visitors' final chance of victory and they were hanging on when Agbonlahor somehow cleared Ridgewell's powerful downward header on his own goal-line.
And the Birmingham fans were still wondering how their side had failed to score when the England Under-21 striker snatched victory for his side with three minutes to go.
Agbonlahor beat Ridgewell to Young's cross from the right and, although Taylor got a hand to his flicked header, he could not keep it out.
Birmingham manager Steve Bruce:
"For me we should have had two penalties and the referee Steve Bennett has missed them.
"He has obviously not seen the first one which was handball and, for the second one, he has to be convinced that Daniel De Ridder has dived to book him.
"Daniel hasn't dived. He has been clipped on his trailing leg and gone over - the referee got it wrong."
Aston Villa manager Martin O'Neill:
"I am delighted that we won because the game could have gone either way.
"Birmingham never gave up when they went behind and when they got their equaliser it really opened up.
"I always thought that the next goal would win it and I am just pleased that it went to us."
Birmingham: Taylor, Kelly, Djourou, Ridgewell, Schmitz, De Ridder, Muamba, Nafti (Larsson 72), Palacios (Forssell 46), Jerome (O'Connor 75), Kapo.
Subs Not Used: Kingson, McSheffrey.
Booked: De Ridder, Muamba, Kelly.
Goals: Forssell 62.
Aston Villa: Carson, Mellberg, Knight, Laursen, Bouma, Petrov, Reo-Coker, Barry, Young, Carew (Moore 68), Agbonlahor.
Subs Not Used: Taylor, Davies, Gardner, Maloney.
Booked: Barry, Agbonlahor.
Goals: Ridgewell 11 og, Agbonlahor 87.
Ref: Steve Bennett (Kent).