By Phil McNulty
Chief football writer, at St Andrew's
Nikola Zigic's late winner sent Birmingham City into the Carling Cup semi-finals at the expense of arch-rivals Aston Villa at St Andrew's, a victory marred by ugly scenes between opposing fans after a mass pitch invasion at the final whistle.
Giant Serbian Zigic, who had struggled to make an impression and was becoming a target for the home fans' frustration, was suddenly transformed into the hero with only six minutes left.
Zigic bundled home Cameron Jerome's cross from close range, via a deflection off Luke Young, to settle a fiercely contested derby.
Sebastian Larsson gave Birmingham an early lead from the penalty spot after Richard Dunne had fouled Lee Bowyer, but Gabriel Agbonlahor grabbed a deserved equaliser for Villa before the interval.
Zigic thought he had extended the hosts' advantage before Agbonlahor's strike when his shot squirmed away from Villa keeper Brad Friedel - but as he claimed the ball had crossed the line a flag went up for offside.
McLeish 'worried' after fan invasion
Villa were the better side for long periods, but they failed to apply any sustained pressure on Blues keeper Ben Foster and paid the price for their lack of cutting edge as Zigic struck the decisive blow to set up a two-legged semi-final clash with West Ham.
Gerard Houllier's side will feel hard done by after controlling so much of the game, but all their promising approach play amounted to few clear-cut chances and it is Alex McLeish's side who have moved a step closer to only the second major trophy in their history, having won the League Cup against Villa in 1963.
Sadly, thousands of Birmingham supporters chose to celebrate the win by charging the length of the field to taunt their Villa counterparts, sparking a predictably angry reaction, with police forced to move in as flares were thrown.
It was an unsavoury end to what had been a pulsating encounter, denying the home side's players the chance to celebrate their triumph as they and the Villa players hurried off the pitch.
Villa were able to recall Agbonlahor after he missed Saturday's defeat against Arsenal through illness - and he played a central role in an evenly contested first 45 minutes.
Birmingham went ahead with their first serious venture into Villa territory, Bowyer tempting Dunne into a clumsy collision that left referee Chris Foy with an easy decision to point to the spot. Larsson completed the punishment for Villa and Dunne as he sent Friedel the wrong way with his penalty.
Despite Villa enjoying the majority of possession, it was the hosts who thought they had increased their lead in the 29th minute when Zigic's shot squirmed out of Friedel's grasp on the line. As Birmingham players claimed a goal, the linesman's flag was raised for offside, presumably against Liam Ridgewell, who was lurking behind Friedel.
If the Blues were nursing a sense of injustice, it was only increased moments later when the visitors drew level, Agbonlahor scoring with a right-foot finish on the turn after he was played in by Jonathan Hogg.
Jerome then wasted a glaring opportunity to restore Birmingham's advantage when he ran through with only Friedel to beat, but he watched in frustration as his effort drifted inches wide.
Villa continued to hold sway after the break, but with no clear chances being created, Houllier and McLeish decided to make changes. Birmingham replaced Bowyer with Craig Gardner, while Stephen Ireland replaced the tiring Barry Bannan for the visitors.
The home support were venting their frustration as they struggled to exert any authority on Villa, but Gardner gave them hope with a long-range drive that flew narrowly off target.
Houllier 'hurting' after Cup exit
Ireland then had his own opportunity to make an impact when Birmingham were undone by Agbonlahor's pace, but his shot was saved by Foster, who recovered to deny Ashley Young as he waited to pounce on the rebound.
And as time ran out, McLeish's side hit their city rivals with a sucker punch as Zigic, who had struggled throughout the match, turned Jerome's cross tantalisingly out of the reach of Friedel with the help of a deflection off Luke Young.
Villa pressed in vain, and the conclusion of the game was scarred by the mindless behaviour of the supporters who raced on to the pitch at the final whistle to take the gloss off what was a landmark win.
90:00+6:22 Cameron Jerome takes a shot. Brad Friedel makes a save.
90:00+5:43 Corner taken right-footed by Ashley Young from the right by-line, Matt Derbyshire manages to make a clearance.
90:00+4:41 James Collins challenges Roger Johnson unfairly and gives away a free kick. Roger Johnson takes the direct free kick.
90:00+4:41 Booking Caution for James Collins.
90:00+3:56 Ciaran Clark gives away a free kick for an unfair challenge on Cameron Jerome. Free kick taken by Cameron Jerome.
90:00+3:25 Unfair challenge on Keith Fahey by James Collins results in a free kick. Ben Foster takes the free kick.
90:00+2:16 The ball is crossed by Luke Young, save made by Ben Foster.
90:00+0:58 Substitution Matt Derbyshire on for Nikola Zigic.
90:00+0:26 Substitution Stephen Warnock leaves the field to be replaced by Nathan Delfouneso.
89:50 Substitution Jonathan Hogg goes off and Robert Pires comes on.
88:17 Inswinging corner taken by Stewart Downing from the right by-line, save made by Ben Foster.
Correction - 87:22 Substitution David Murphy replaces Sebastian Larsson.
87:22 Substitution David Murphy comes on in place of Sebastian Larsson.
86:44 A cross is delivered by Ciaran Clark, clearance made by Stephen Carr.
84:00 The assist for the goal came from Cameron Jerome.
84:00 GOAL - Nikola Zigic:Birmingham 2 - 1 Aston Villa A goal is scored by Nikola Zigic from inside the penalty box to the top left corner of the goal. Birmingham 2-1 Aston Villa.
82:54 Unfair challenge on Stewart Downing by Barry Ferguson results in a free kick. Ciaran Clark restarts play with the free kick.
81:12 Booking Ashley Young is cautioned.
80:49 Stephen Ireland takes a shot. Save by Ben Foster.
80:29 The ball is crossed by Sebastian Larsson, clearance made by Ciaran Clark.
77:53 Gabriel Agbonlahor produces a cross, clearance made by Scott Dann.
76:23 Craig Gardner has a shot on goal from outside the box which misses right.
Correction - 73:30 Drilled right-footed shot by Stewart Downing. Scott Dann gets a block in.
73:30 Stewart Downing has an effort at goal from 30 yards. Roger Johnson gets a block in.
71:43 Substitution Stephen Ireland is brought on as a substitute for Barry Bannan.
71:21 Unfair challenge on Keith Fahey by Jonathan Hogg results in a free kick. Free kick taken by Ben Foster.
71:21 Booking Booking for Jonathan Hogg for unsporting behaviour.
67:05 Corner taken right-footed by Ashley Young to the near post, clearance by Nikola Zigic.
66:09 The ball is crossed by Liam Ridgewell, Richard Dunne makes a clearance.
65:28 Cameron Jerome is ruled offside. Free kick taken by Brad Friedel.
64:39 Substitution Craig Gardner replaces Lee Bowyer.
63:03 Inswinging corner taken by Ashley Young from the right by-line, Barry Bannan takes a shot.
62:41 Shot from 20 yards from Jonathan Hogg. Save by Ben Foster.
61:53 The ball is sent over by Ashley Young, Stephen Carr challenges Stephen Warnock unfairly and gives away a free kick. Ashley
Young crosses the ball from the free kick right-footed from right channel, Roger Johnson manages to make a clearance.
61:53 Booking Stephen Carr receives a caution.
60:16 Barry Bannan takes a shot. Save by Ben Foster.
57:44 Foul by Barry Bannan on Liam Ridgewell, free kick awarded. Free kick taken by Ben Foster.
57:19 The ball is sent over by Gabriel Agbonlahor, clearance by Roger Johnson.
55:17 Centre by Ciaran Clark, save made by Ben Foster.
55:08 Barry Bannan sends in a cross.
54:51 Ashley Young crosses the ball, Ben Foster makes a save.
54:30 Keith Fahey crosses the ball, save by Brad Friedel.
54:00 Foul by Barry Bannan on Liam Ridgewell, free kick awarded. Ben Foster takes the direct free kick.
53:24 Luke Young delivers the ball, clearance made by Scott Dann.
52:26 Sebastian Larsson produces a cross, clearance by James Collins.
50:06 Sebastian Larsson fouled by Ashley Young, the ref awards a free kick. Ben Foster restarts play with the free kick.
48:18 Stephen Warnock restarts play with the free kick.
48:18 Booking Scott Dann shown a yellow card.
47:53 Unfair challenge on Gabriel Agbonlahor by Roger Johnson results in a free kick.
46:14 The ball is swung over by Stewart Downing.
45:01 The game restarts for the second half.
45:00+1:02 The players leave the pitch at half time.
45:00+0:43 Ashley Young concedes a free kick for a foul on Scott Dann. Free kick taken by Roger Johnson.
45:00+0:06 Cameron Jerome is ruled offside. Free kick taken by Brad Friedel.
44:23 Sebastian Larsson takes a inswinging corner.
43:37 Barry Bannan takes a shot. Save by Ben Foster.
42:36 Free kick awarded for a foul by Cameron Jerome on Stephen Warnock. Brad Friedel takes the direct free kick.
41:42 The ball is crossed by Ciaran Clark, Barry Ferguson makes a clearance.
40:55 The official flags Nikola Zigic offside. Brad Friedel restarts play with the free kick.
39:16 Free kick awarded for an unfair challenge on Nikola Zigic by Stephen Warnock. Free kick crossed right-footed by Sebastian
38:12 Corner taken by Sebastian Larsson from the right by-line, James Collins manages to make a clearance.
37:48 The ball is swung over by Sebastian Larsson, Richard Dunne makes a clearance.
37:17 Sebastian Larsson takes the inswinging corner, Richard Dunne makes a clearance.
36:36 Inswinging corner taken right-footed by Sebastian Larsson played to the near post, Gabriel Agbonlahor manages to make a clearance.
35:34 Jonathan Hogg gives away a free kick for an unfair challenge on Lee Bowyer. Barry Ferguson restarts play with the free kick.
33:56 Free kick awarded for an unfair challenge on Lee Bowyer by Ashley Young. Ben Foster takes the free kick.
32:34 Shot by Cameron Jerome from deep inside the penalty area misses to the left of the goal.
31:50 Lee Bowyer concedes a free kick for a foul on Ashley Young. James Collins takes the free kick.
31:28 Sebastian Larsson crosses the ball.
29:23 Assist on the goal came from Ciaran Clark.
29:23 GOAL - Gabriel Agbonlahor:Birmingham 1 - 1 Aston Villa Gabriel Agbonlahor grabs a goal from inside the penalty area to the bottom left corner of the goal. Birmingham 1-1 Aston Villa.
28:20 Ashley Young gives away a free kick for an unfair challenge on Nikola Zigic. Sebastian Larsson delivers the ball from the
free kick right-footed from right wing, Brad Friedel makes a save.
27:54 The referee blows for offside. Brad Friedel takes the indirect free kick.
26:43 Corner from left by-line taken by Sebastian Larsson.
21:31 The ball is delivered by Barry Bannan.
18:46 A cross is delivered by Jonathan Hogg, clearance by Stephen Carr.
18:13 Luke Young takes a shot. Blocked by Barry Ferguson.
17:48 Outswinging corner taken right-footed by Ashley Young, clearance by Scott Dann.
16:55 Corner taken by Ashley Young from the right by-line, clearance by Nikola Zigic.
16:05 Corner taken right-footed by Ashley Young to the near post, clearance by Stephen Carr.
14:03 Roger Johnson fouled by Ashley Young, the ref awards a free kick. Free kick taken by Ben Foster.
13:30 Free kick awarded for an unfair challenge on Jonathan Hogg by Nikola Zigic. Richard Dunne restarts play with the free kick.
12:15 Ashley Young crosses the ball, Ben Foster makes a save.
11:16 Richard Dunne gives away a Penalty for an unfair challenge on Lee Bowyer.
11:16 GOAL - Sebastian Larsson:Birmingham 1 - 0 Aston Villa Sebastian Larsson scores a penalty. Birmingham 1-0 Aston Villa.
9:35 Cameron Jerome gives away a free kick for an unfair challenge on Ciaran Clark. Free kick taken by James Collins.
8:57 A cross is delivered by Gabriel Agbonlahor.
8:39 Stephen Carr sends in a cross, clearance by James Collins.
7:27 Inswinging corner taken right-footed by Stewart Downing, Barry Bannan takes a shot. Stephen Carr manages to make a clearance.
7:05 Ashley Young takes a shot. Blocked by Sebastian Larsson.
6:33 Nikola Zigic is caught offside. Free kick taken by Brad Friedel.
5:25 The ball is sent over by Stewart Downing.
4:27 Gabriel Agbonlahor crosses the ball.
3:19 The ball is crossed by Stewart Downing, clearance by Liam Ridgewell.
2:59 Cameron Jerome takes a shot. Save by Brad Friedel.
1:31 Shot on goal by Ciaran Clark from just inside the area goes over the target.
1:06 Outswinging corner taken left-footed by Stewart Downing, Liam Ridgewell manages to make a clearance.
0:00 The game gets underway.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.