West Brom came from behind to snatch their first league win at Villa Park since 1979 after Aston Villa's Chris Herd was controversially sent off.
Darren Bent gave Villa the lead from the penalty spot before Herd was shown a red card for an innocuous-looking clash with Jonas Olsson inside the box.
Chris Brunt sliced the spot-kick well wide but his error was soon forgotten as Olsson headed home from a corner.
The Baggies' dominance was rewarded when Paul Scharner fired in the winner.
The Austrian's athletic finish ensured the Baggies ended a 13-game run without a win at the home of their West Midlands rivals.
UNBEATEN IN FOUR
- 22 Oct: Aston Villa 1-2 WBA
- 16 Oct: WBA 2-0 Wolves
- 1 Oct: Sunderland 2-2 WBA
- 24 Sep: WBA 0-0 Fulham
After a poor start to the season, Roy Hodgson's men are now unbeaten in four matches and 10th in the Premier League table, level with Aston Villa on 11 points.
Villa started the game strongly and should have taken the lead after six minutes when Bent latched on to a mis-hit Barry Bannan shot - but he fired over the bar from eight yards out.
Scotland midfielder Bannan came close with an effort of his own moments later, his volley from outside the area narrowly missing the target.
Villa full-back Alan Hutton was perhaps fortunate to stay on the field when his two-footed challenge on Shane Long went unpunished by referee Phil Dowd.
The Irishman, outstanding in the 2-0 victory over Wolves last week, limped off soon afterwards shaking his head and exchanging words with a section of Villa fans.
A bad start for the Baggies got worse two minutes later when Villa were gifted a penalty.
Hesitation from Steven Reid allowed Gabriel Agbonlahor to get to the ball ahead of Ben Foster, before tumbling over the Baggies goalkeeper.
Bent sent Foster the wrong way from the spot to put Villa ahead.
West Brom enjoyed more possession as the half progressed and were handed a penalty of their own in the 21st minute in bizarre circumstances.
HEAD TO HEAD
- Played: 157
- Villa wins: 74
- Draw: 31
- West Brom wins: 52
- (Correct at 23 October 2011)
Olsson and Herd tussled off the ball at a free-kick before Olsson fell to the ground. Assistant referee Darren Cann signalled for a penalty and Dowd sent Herd off to the amazement of the Villa faithful.
Their shock turned to glee a moment later when Brunt drilled his penalty several yards wide of the goal.
A barely credible half was handed a final twist when Olsson towered above the Villa defence to head home Brunt's corner and make it 1-1.
West Brom were on the front foot from the start of the second period and, after Olsson headed over from three yards, Scharner gave his team the lead.
A corner from the left fell kindly for the Austrian, who lashed in an acrobatic left-footed shot off the underside of the bar.
Alex McLeish brought on Emile Heskey and Marc Albrighton as Villa pushed for an equaliser.
But West Brom used their extra man to dominate possession and could have scored on the break when Peter Odemwingie mis-kicked in front of goal.
A tiring Villa never looked like getting an equaliser as the Baggies saw out a memorable derby win.
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +2:03
Free kick awarded for an unfair challenge on Richard Dunne by Somen Tchoyi. Shay Given takes the free kick.90:00 +1:32
Marc Albrighton challenges Jerome Thomas unfairly and gives away a free kick. Direct free kick taken by Jonas Olsson.89:30
Peter Odemwingie is flagged offside by the assistant referee. Shay Given restarts play with the free kick.89:00
Peter Odemwingie is flagged offside by the assistant referee. Indirect free kick taken by Shay Given.88:32
Corner taken short by Jerome Thomas.85:17
Somen Tchoyi is caught offside. Indirect free kick taken by Shay Given.82:42
The ball is sent over by Marc Albrighton.82:13
Somen Tchoyi gives away a free kick for an unfair challenge on Richard Dunne. Direct free kick taken by Carlos Cuellar.80:58
Paul Scharner fouled by Emile Heskey, the ref awards a free kick. Ben Foster takes the direct free kick.80:08
Somen Tchoyi is penalised for handball and concedes a free kick. Shay Given takes the direct free kick.78:59
Richard Dunne fouled by Peter Odemwingie, the ref awards a free kick. James Collins takes the direct free kick.78:12
Gabriel Agbonlahor gives away a free kick for an unfair challenge on Steven Reid. Free kick taken by Gareth McAuley.77:08
Direct free kick taken by Shay Given.77:08 Substitution
Substitution James Morrison on for Youssouf Mulumbu.77:08 Substitution
Substitution Marc Albrighton joins the action as a substitute, replacing Barry Bannan.77:08
Somen Tchoyi is caught offside.76:27
The ball is crossed by Carlos Cuellar, save made by Ben Foster.69:58
Outswinging corner taken by Barry Bannan from the left by-line, Headed effort from deep inside the area by James Collins misses to the right of the goal.69:47
The ball is swung over by Carlos Cuellar, save by Ben Foster.
The ball is sent over by Steven Reid, clearance made by Richard Dunne.66:07
Free kick taken by Stephen Warnock.66:07 Booking
Booking Youssouf Mulumbu is booked.65:55
Free kick awarded for an unfair challenge on Gabriel Agbonlahor by Youssouf Mulumbu.65:00
Chris Brunt takes a inswinging corner from the right by-line played to the near post, clearance by Emile Heskey. The ball is swung over by Steven Reid, Richard Dunne manages to make a clearance.65:00 Booking
Booking Shay Given booked.63:55
Jerome Thomas takes a shot. James Collins gets a block in.63:44
Short corner worked by Chris Brunt. Corner taken left-footed by Chris Brunt.62:34
Centre by Steven Reid, James Collins makes a clearance.59:57 Substitution
Substitution (Aston Villa) makes a substitution, with Emile Heskey coming on for Charles N'Zogbia.56:43 Booking
Booking Paul Scharner shown a yellow card.56:39
The assist for the goal came from Chris Brunt.56:39 Goal scored
Goal! - Paul Scharner - A Villa 1 - 2 West Brom Paul Scharner finds the net with a goal from inside the penalty area high into the middle of the goal. Aston Villa 1-2 West Brom.56:10
Outswinging corner taken left-footed by Chris Brunt,54:40
The ball is delivered by Steven Reid, Richard Dunne makes a clearance. Corner from the right by-line taken by Chris Brunt, Close range headed effort by Jonas Olsson clears the crossbar.54:26
Youssouf Mulumbu takes a shot. Save by Shay Given.52:30
Handball decision goes against Paul Scharner. Free kick crossed left-footed by Barry Bannan from right wing.49:40
Jerome Thomas concedes a free kick for a foul on Charles N'Zogbia. Shay Given takes the direct free kick.48:33
Free kick awarded for a foul by James Collins on Peter Odemwingie. Direct free kick taken by Billy Jones.45:39
Youssouf Mulumbu fouled by Stiliyan Petrov, the ref awards a free kick. Strike on goal comes in from Chris Brunt from the free kick.45:01
The referee starts the second half.45:00 +3:20 Half time
Half Time The players leave the pitch at half time.45:00 +2:01
Peter Odemwingie is flagged offside by the assistant referee. Shay Given takes the free kick.44:31
The assist for the goal came from Chris Brunt.44:31 Goal scored
Goal! - Jonas Olsson - A Villa 1 - 1 West Brom Jonas Olsson scores a headed goal from inside the six-yard box. Aston Villa 1-1 West Brom.44:05
Corner taken by Chris Brunt from the right by-line,41:17
Somen Tchoyi takes a shot. Save by Shay Given.40:06 Substitution
Substitution Carlos Cuellar comes on in place of Alan Hutton.38:21
Stiliyan Petrov takes a inswinging corner from the left by-line to the near post, clearance made by Paul Scharner.35:09 Penalty
Power penalty missed by Chris Brunt.35:09 Dismissal
Dismissal Chris Herd sent off.34:54
Jonas Olsson fouled by Chris Herd, the ref awards a Penalty.32:07
Free kick awarded for an unfair challenge on Jerome Thomas by Charles N'Zogbia. Free kick crossed left-footed by Chris Brunt from left channel, blocked by Barry Bannan.31:53
Somen Tchoyi crosses the ball, Barry Bannan manages to make a clearance.29:29
Corner taken right-footed by Stiliyan Petrov from the left by-line to the near post, Youssouf Mulumbu manages to make a clearance.26:52
Chris Brunt fouled by Chris Herd, the ref awards a free kick. Chris Brunt restarts play with the free kick.24:58
Jerome Thomas has a shot on goal from outside the box which misses right.23:56
Billy Jones is caught offside. Free kick taken by Shay Given.23:16
Centre by Steven Reid, James Collins manages to make a clearance.22:06
Assist on the goal came from Gabriel Agbonlahor.22:06 Goal scored
Goal! - Darren Bent - A Villa 1 - 0 West Brom Darren Bent scores a placed penalty. Aston Villa 1-0 West Brom.21:08
Ben Foster concedes a Penalty for a foul on Gabriel Agbonlahor.19:47
Alan Hutton restarts play with the free kick.19:47 Booking
Booking Billy Jones shown a yellow card.19:38
Unfair challenge on Charles N'Zogbia by Billy Jones results in a free kick.18:53 Substitution
Substitution Somen Tchoyi on for Shane Long.18:11
Jonas Olsson concedes a free kick for a foul on Darren Bent. Barry Bannan takes the free kick.15:19
Chris Brunt crosses the ball from the free kick right-footed from left wing.15:19 Booking
Booking Alan Hutton goes into the referee's book.15:10
Unfair challenge on Shane Long by Alan Hutton results in a free kick.14:03
Charles N'Zogbia concedes a free kick for a foul on Steven Reid. Ben Foster takes the free kick.8:02
Peter Odemwingie is flagged offside by the assistant referee. Shay Given takes the indirect free kick.6:30
The ball is swung over by Stephen Warnock, clearance made by Jonas Olsson. Barry Bannan produces a left-footed shot from just outside the box that misses to the right of the goal. Richard Dunne challenges Shane Long unfairly and gives away a free kick. Free kick crossed left-footed by Chris Brunt, James Collins makes a clearance.4:30
Shot from deep inside the area by Darren Bent goes over the bar.1:18
Inswinging corner taken left-footed by Chris Brunt from the right by-line, clearance made by Stiliyan Petrov.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers