Yossi Benayoun came off the bench to head a late winner as below-par Arsenal triumphed at Aston Villa.
Villa had chances to open the scoring before Robin van Persie scored his 34th goal of 2011 from the penalty spot after a foul on Theo Walcott.
Marc Albrighton capitalised on a defensive error to slot in the 20,000th goal in Premier League history.
But Benayoun won it from Van Persie's corner, while Villa's Alan Hutton was sent off for two yellow cards.
The Scot was shown his second for a late tackle on Thomas Vermaelen, just moments after picking up his first caution for dissent.
That compounded a bitterly disappointing finish for Villa, who have now won only two of their last 10 matches - losing four of the past six.
Boss Alex McLeish spoke beforehand about the need to stop conceding "stupid goals" from set-pieces, but that is exactly what happened.
- Aston Villa have won only one of their last 10 matches
- They have lost four of their last five home games
- Villa last beat Arsenal at home in December 1998
They let Van Persie's corner drift through the goalmouth to an unmarked Benayoun and he converted his first top-flight goal for Arsenal.
The Gunners return to winning ways after Sunday's defeat at Manchester City and have lost only one of their last 10 league matches.
Arsene Wenger's men have still not been beaten at Villa Park since December 1998, and captain Van Persie continues to shine.
The Dutchman has equalled Thierry Henry's club record for goals in a calendar year and is two behind Alan Shearer's Premier League record from 1995.
On this occasion, his strike came completely against the run of play.
With midfielder Francis Coquelin starting at right-back, regular centre-half Vermaelen at left-back and Emmanuel Frimpong deputising for the suspended Alex Song in the holding midfield role, Arsenal looked extremely vulnerable in the early stages.
That was until Arsenal's first meaningful attack. Walcott collected Mikel Arteta's throw and tricked his way past Ciaran Clark before the Villa man tugged at his shirt.
Referee Jon Moss pointed to the spot and Van Persie slammed the ball high past Brad Guzan.
Moments later, Walcott had an excellent chance to double the lead when sent clear by Van Persie, only for Guzan to race out and get a hand to his lob.
Villa were swiftly back on top, though, and Wojciech Szczesny did well to gather another cross - this time from Albrighton - with home players queuing up to tap home.
- Arsenal have lost only one of their last 10 league matches
- They have won four of their last five top-flight away games
- Robin van Persie has scored 47 goals in 54 matches for club and country in 2011
Villa were gifted a deserved route back in shortly after the break as Vermaelen sold Per Mertesacker short with a simple pass.
As Mertesacker hesitated, Albrighton poked the ball around the Germany international, then slotted past Szczesny for the landmark strike.
After levelling, lone-striker Gabriel Agbonlahor began to look increasingly isolated, while Arsenal pushed for the winner.
Van Persie was cautioned for diving despite falling under a strong challenge from Stephen Warnock, Richard Dunne blocked from substitute Tomas Rosicky and Andrey Arshavin, another replacement, saw a shot deflected just over the bar.
The pressure eventually told when Benayoun pounced from Arsenal's 15th corner before Hutton saw red.
Aston Villa manager Alex McLeish:
"We were totally [unlucky]. Arsenal had a lot of corners in second half and unfortunately we lost out on one. But it was much more a performance of the team I'm trying to coach. We were very dynamic and played as team with outstanding individual performances. It was a tremendous display.
"I'm so pleased to see the players getting up in support of Gabby, it was such a positive performance by the players. We were tired at the end.
"But going into a really tough schedule you can do without players getting sent off. Alan should know better, he had a rush of blood to head. He's a vital player to the squad and we'll now miss him. Bent was close tonight and I certainly expect him to be ready for Monday."
Arsenal manager Arsene Wenger:
"We knew we would have a difficult game. We've given a lot in the last three days physically. Villa played well. In the second half we went through a difficult period but we kept going and showed this team has quality, they never give up.
"Yossi has had to wait for his moment but he has been 100% professional and got us three very important points. He works hard and shows fantastic attitude. It was the kind of game that could have gone either way, it was very physical.
"The injury situation is not looking good - the full-backs will not be back before mid-to-late January. We have to see who can play there from game to game and be creative."
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +4:19
Mikel Arteta decides to take the corner short.90:00 +3:24
Mikel Arteta restarts play with the free kick.90:00 +3:24 Dismissal
Dismissal Alan Hutton sent off.90:00 +3:15
Unfair challenge on Thomas Vermaelen by Alan Hutton results in a free kick.90:00 +2:04
Mikel Arteta restarts play with the free kick.90:00 +2:04 Booking
Booking Alan Hutton goes into the referee's book.90:00 +1:34
Foul by Alan Hutton on Robin van Persie, free kick awarded.90:00 +0:46
Corner from the left by-line taken by Barry Bannan, Headed effort from inside the area by Alan Hutton misses to the right of the target.90:00 +0:33
A cross is delivered by Stiliyan Petrov, Laurent Koscielny manages to make a clearance.90:00 +0:18
Centre by Barry Bannan, Per Mertesacker makes a clearance.89:15
Mikel Arteta takes a shot. Bradley Guzan makes a save.88:09
Short corner worked by Robin van Persie.86:14 Substitution
Substitution Marc Albrighton goes off and Nathan Delfouneso comes on.86:14
Robin van Persie provided the assist for the goal.86:14 Goal scored
Goal! - Yossi Benayoun - A Villa 1 - 2 Arsenal Yossi Benayoun finds the net with a headed goal from close in. Aston Villa 1-2 Arsenal.85:12
Andrey Arshavin takes a shot. Alan Hutton gets a block in. Corner taken left-footed by Robin van Persie,84:33
The ball is sent over by Francis Coquelin, clearance made by Alan Hutton.79:51
Robin van Persie has an effort at goal from outside the area missing to the wide left of the goal.79:51 Substitution
Substitution Yossi Benayoun comes on in place of Aaron Ramsey.
Substitution Andrey Arshavin comes on in place of Yao Gervinho.77:42
Bradley Guzan restarts play with the free kick. Free kick awarded for an unfair challenge on Charles N'Zogbia by Aaron Ramsey. Stiliyan Petrov has a direct shot on goal from the free kick.77:42 Booking
Booking Robin van Persie receives a yellow card for unsporting behaviour.76:01
The ball is swung over by Robin van Persie, Ciaran Clark makes a clearance.75:45
Short corner taken by Robin van Persie from the right by-line.74:04
Corner taken by Barry Bannan from the left by-line, Laurent Koscielny makes a clearance.73:56
The ball is crossed by Marc Albrighton, save made by Wojciech Szczesny.73:38
The ball is delivered by Marc Albrighton. Charles N'Zogbia produces a cross, Thomas Vermaelen makes a clearance.71:34
Mikel Arteta takes a inswinging corner to the near post, clearance by Richard Dunne. Corner taken left-footed by Robin van Persie to the near post, Richard Dunne manages to make a clearance.70:40
Thomas Vermaelen concedes a free kick for a foul on Marc Albrighton. Direct free kick taken by Alan Hutton.68:30
Shot on goal by Barry Bannan from long range goes harmlessly over the target.67:10
Inswinging corner taken left-footed by Robin van Persie, clearance by Gabriel Agbonlahor.66:08
Centre by Theo Walcott, clearance made by Richard Dunne. Corner taken left-footed by Robin van Persie from the right by-line, Bradley Guzan makes a save.65:01 Substitution
Substitution Tomas Rosicky comes on in place of Emmanuel Frimpong.63:59
Corner taken left-footed by Robin van Persie from the right by-line to the near post, Stiliyan Petrov manages to make a clearance. Corner taken right-footed by Robin van Persie from the right by-line to the near post, Richard Dunne makes a clearance.63:31
Gabriel Agbonlahor is adjudged to have handled the ball. Laurent Koscielny restarts play with the free kick.62:57
Stephen Warnock produces a cross.60:52
Emmanuel Frimpong challenges Charles N'Zogbia unfairly and gives away a free kick. The free kick is swung in left-footed by Barry Bannan, clearance made by Robin van Persie.59:42
Emmanuel Frimpong challenges Barry Bannan unfairly and gives away a free kick. Richard Dunne takes the free kick.59:10
The official flags Stephen Warnock offside. Free kick taken by Wojciech Szczesny.58:25
Ciaran Clark has shot on goal from a long way out that goes wide left.54:29
Inswinging corner taken by Robin van Persie, Per Mertesacker takes a shot. Save made by Bradley Guzan. Robin van Persie takes a corner.53:14 Goal scored
Goal! - Marc Albrighton - A Villa 1 - 1 Arsenal Marc Albrighton finds the net with a goal from deep inside the penalty box low into the middle of the goal. Aston Villa 1-1 Arsenal.51:31
Stiliyan Petrov concedes a free kick for a foul on Francis Coquelin. Mikel Arteta takes the direct free kick.50:10
Short corner taken by Robin van Persie.49:09
Stiliyan Petrov concedes a free kick for a foul on Aaron Ramsey. Direct free kick taken by Per Mertesacker.47:54
The ball is crossed by Barry Bannan, save by Wojciech Szczesny. Free kick awarded for a foul by Stiliyan Petrov on Mikel Arteta. Mikel Arteta restarts play with the free kick.45:01
The second half has started.45:00 +2:10 Half time
Half Time The whistle is blown to end the first half.45:00 +1:14
Free kick awarded for a foul by Thomas Vermaelen on Marc Albrighton. Bradley Guzan restarts play with the free kick.44:40
Stephen Warnock takes the direct free kick, Effort from outside the penalty area by Barry Bannan goes wide left of the target.44:40 Substitution
Substitution Barry Bannan is brought on as a substitute for Stephen Ireland.44:40 Booking
Booking Per Mertesacker goes into the book.43:47
Foul by Per Mertesacker on Charles N'Zogbia, free kick awarded.42:16
Yao Gervinho crosses the ball.40:53
The ball is delivered by Marc Albrighton, save by Wojciech Szczesny.37:31
Per Mertesacker takes the direct free kick.37:31 Booking
Booking The referee books Ciaran Clark for unsporting behaviour.36:56
Robin van Persie takes a shot. Blocked by Richard Dunne. Mikel Arteta fouled by Ciaran Clark, the ref awards a free kick.35:14
The ball is crossed by Theo Walcott, Richard Dunne manages to make a clearance.33:46
The assistant referee signals for offside against Gabriel Agbonlahor. Aaron Ramsey takes the free kick.31:32
Aaron Ramsey produces a right-footed shot from just outside the box that goes wide right of the goal.30:55
The assistant referee flags for offside against Gabriel Agbonlahor. Per Mertesacker restarts play with the free kick.27:48
Corner taken by Marc Albrighton, Emmanuel Frimpong makes a clearance.26:53
Direct free kick taken by Stephen Warnock.26:53 Booking
Booking Francis Coquelin is shown a yellow card for unsporting behaviour.26:42
Charles N'Zogbia fouled by Francis Coquelin, the ref awards a free kick.26:08
Stephen Ireland is adjudged to have handled the ball. Wojciech Szczesny restarts play with the free kick.25:32
The ball is crossed by Charles N'Zogbia.25:02
Corner taken right-footed by Marc Albrighton to the near post, clearance made by Robin van Persie.23:00
The ball is crossed by Robin van Persie. Gabriel Agbonlahor fouled by Per Mertesacker, the ref awards a free kick. Strike comes in from Stiliyan Petrov from the free kick, blocked by Emmanuel Frimpong.22:36
Centre by Marc Albrighton, Wojciech Szczesny makes a save.20:31
The ball is sent over by Stephen Ireland, clearance by Francis Coquelin.19:32
Stephen Warnock sends in a cross, Laurent Koscielny manages to make a clearance.18:41
Stiliyan Petrov takes a shot. Save made by Wojciech Szczesny.18:25
Theo Walcott takes a shot. Save made by Bradley Guzan.16:27
Assist on the goal came from Theo Walcott.16:27 Goal scored
Goal! - Robin van Persie - A Villa 0 - 1 Arsenal Power penalty scored by Robin van Persie. Aston Villa 0-1 Arsenal.15:41
Penalty awarded for a foul by Ciaran Clark on Theo Walcott.14:41
Mikel Arteta takes a inswinging corner to the near post, clearance by Ciaran Clark.12:29
Free kick awarded for a foul by Charles N'Zogbia on Francis Coquelin. Free kick taken by Aaron Ramsey.11:41
Gabriel Agbonlahor crosses the ball, save by Wojciech Szczesny.11:09
Inswinging corner taken from the right by-line by Charles N'Zogbia.10:41
The ball is swung over by Charles N'Zogbia, Gabriel Agbonlahor produces a left-footed shot from close in that clears the bar.9:43
Inswinging corner taken right-footed by Mikel Arteta from the left by-line, save by Bradley Guzan.9:25
Gabriel Agbonlahor delivers the ball, save by Wojciech Szczesny.8:13
Gabriel Agbonlahor concedes a free kick for a foul on Francis Coquelin. Francis Coquelin takes the free kick.5:44
Gabriel Agbonlahor takes a shot. Wojciech Szczesny makes a save. Corner taken right-footed by Marc Albrighton, Laurent Koscielny makes a clearance.5:11
Inswinging corner taken from the right by-line by Charles N'Zogbia.2:02
Free kick awarded for a foul by Stiliyan Petrov on Theo Walcott. Aaron Ramsey takes the direct free kick.0:00
The game kicks-off.
Live data and text provided by our data suppliers