Arsenal moved back into third place in the Premier League with an unconvincing London derby win over 10-man Fulham.
The Gunners dominated early on and seemed to have been gifted a path to victory by Steve Sidwell's 12th-minute dismissal for a lunge on Mikel Arteta.
But Fulham posed the greater threat and Arsenal were fortunate to lead at half-time through Per Mertesacker's header.
They continued to struggle but held on despite Olivier Giroud's red card for a last-minute lunge on Stanislav Manolev.
That evened the numbers up for a thrilling period of injury time in which the Cottagers came close to salvaging an unlikely but deserved draw and denting the visitors' chances of finishing in the Champions League places.
A surging early run from Manolev apart, Fulham had barely got out of their own half before Sidwell's dismissal for his needless challenge.
Sidwell had only returned to the side after serving a three-match ban and his moment of madness seemed likely to lead to an Arsenal onslaught.
But following his red card, Fulham were the better side for long spells. They made full use of their pace on the counter-attack and Dimitar Berbatov's ability to link up play, and they could easily have gone ahead.
Fulham, who have now picked up just one point from their last four matches, already looked intent on sitting deep and frustrating opponents who had failed to break down a resolute Everton defence in midweek.
Sidwell's sending off ensured they had little option but to play on the break, and although Fulham slipped to a second successive derby defeat in the space of four days, they looked the more likely to score in open play.
Gunners in charge
Arsenal have now won 16 of the 24 Premier League meetings between the two sides but this was their first victory in five, since a 2-1 home success in December 2010.
Berbatov had a fierce strike beaten away by goalkeeper Wojciech Szczesny after a brilliant 40-yard run and pass by Bryan Ruiz.
And Alex Kacaniklic, recalled from a loan spell at Burnley to ease an injury crisis, twice caused problems after a threatening run forward.
The Gunners, who have now won eight of their last 10 league games, looked ponderous and, although dominating possession, were struggling to create chances.
Giroud came closest to breaking the deadlock with a fine low strike across goal that hit the outside of the post after good work by Santi Cazorla.
They did take the lead just before the break from a Theo Walcott set-piece when Mertesacker headed home from close range after Laurent Koscielny's mistimed header across goal.
However that did not relax the visitors, who looked increasingly edgy during a lifeless second half, devoid of clear chances.
Fulham continued to threaten on the counter-attack and Manolev, after one such break, thought he had equalised but was offside when he turned the ball in on the rebound after Szczesny saved Kieran Richardson's free-kick.
But despite a sloppy second-half display, Arsenal withstood the late pressure after Giroud's red card to move two points clear of fourth-placed Chelsea - although they have played two more games than the Blues.
Fulham manager Martin Jol: ""I was annoyed with him [Sidwell], but he says it is not intentional. He will regret that tackle. It was the first foul that spoilt the game.
"I know it was not intentional because he wanted to play. He has just come back from a three-match suspension and now he is out for another four matches again so it was not only disappointing for him, but also for us because we had to play with 10 men for a long time.
"But we fought like lions and had better chances than them. In the first half we did ever so well but conceded a soft goal."
Arsenal manager Arsene Wenger: "I think the referee could only give a red card [to Sidwell]. We will see [if Arteta is okay]. He played the second-half. I don't know how much damage is done. It is a kick, a bad kick.
"I don't know if he has twisted his ankle or not. In these kind of things it is a question of a fraction of a second. If you are fully on your foot at the moment you get it you break your leg. If you ease a bit off maybe that is why he got away with it.
"We had a positive first half but in the second half we became sloppy with our passing and played with less pace to our game.
"You have to give Fulham credit; they are a good side and they played very well. It became hard in the second half. We played with the handbrake on and tried to keep the lead without taking risks. We didn't give them enough problems. We lost pace and quality."
Live Text Commentary
Full Time The referee blows his whistle to end the game.90:00 +3:49
Aaron Ramsey has an effort at goal from just inside the box that misses to the right of the goal.90:00 +1:57
Corner taken by Bryan Ruiz, clearance made by Bacary Sagna.90:00 +1:57 Substitution
Substitution Santi Cazorla leaves the field to be replaced by Thomas Vermaelen.90:00 +1:57
Stanislav Manolev delivers the ball, Per Mertesacker manages to make a clearance.90:00 +0:41
Corner taken by Bryan Ruiz played to the near post, Nacho Monreal manages to make a clearance.89:18
Mark Schwarzer takes the free kick.89:18 Dismissal
Dismissal Olivier Giroud is shown a red card for serious foul play.89:13
Foul by Olivier Giroud on Stanislav Manolev, free kick awarded.88:37
Stanislav Manolev sends in a cross.87:54
Wojciech Szczesny fouled by Dimitar Berbatov, the ref awards a free kick. Wojciech Szczesny restarts play with the free kick.86:53 Substitution
Substitution Urby Emanuelson leaves the field to be replaced by Kerim Frei.85:56
Mladen Petric gives away a free kick for an unfair challenge on Per Mertesacker. Wojciech Szczesny restarts play with the free kick.85:44
Bryan Ruiz sends in a cross, Per Mertesacker makes a clearance.84:22
Laurent Koscielny takes the direct free kick.84:22 Substitution
Substitution Alex Kacaniklic goes off and Mladen Petric comes on.84:22
Jack Wilshere fouled by Eyong Enoh, the ref awards a free kick.82:43
The ball is sent over by Aaron Ramsey, Santi Cazorla takes a shot. Brede Hangeland gets a block in. Corner taken by Santi Cazorla from the right by-line, Mark Schwarzer makes a save.80:50
Urby Emanuelson delivers the ball, clearance made by Per Mertesacker.80:14
Dimitar Berbatov is ruled offside. Laurent Koscielny takes the indirect free kick.
Unfair challenge on Bryan Ruiz by Per Mertesacker results in a free kick. Dimitar Berbatov fires a strike on goal direct from the free kick.77:12
Stanislav Manolev is caught offside. Wojciech Szczesny restarts play with the free kick.75:55
Kieran Richardson produces a strike on goal direct from the free kick, save by Wojciech Szczesny.75:55 Booking
Booking Aaron Ramsey is cautioned.75:48
Foul by Aaron Ramsey on Bryan Ruiz, free kick awarded.74:44
The ball is sent over by Jack Wilshere.72:05
Stanislav Manolev gives away a free kick for an unfair challenge on Jack Wilshere. Free kick taken by Nacho Monreal.70:37 Substitution
Substitution Tomas Rosicky goes off and Lukas Podolski comes on.70:37 Substitution
Substitution (Arsenal) makes a substitution, with Jack Wilshere coming on for Theo Walcott.69:50
A cross is delivered by Urby Emanuelson, Wojciech Szczesny makes a save. Inswinging corner taken by Bryan Ruiz, Olivier Giroud makes a clearance.69:01
The ball is crossed by Stanislav Manolev, Wojciech Szczesny makes a save. Outswinging corner taken left-footed by Urby Emanuelson from the left by-line, Nacho Monreal makes a clearance.67:19
Centre by Bacary Sagna, clearance by Philippe Senderos.65:12
Foul by Dimitar Berbatov on Aaron Ramsey, free kick awarded. Free kick taken by Nacho Monreal.63:52
Bacary Sagna delivers the ball, clearance made by Philippe Senderos.61:44
Stanislav Manolev concedes a free kick for a foul on Mikel Arteta. Laurent Koscielny takes the free kick.59:26
The ball is delivered by Tomas Rosicky, clearance by Philippe Senderos.58:04
The referee blows for offside against Dimitar Berbatov. Wojciech Szczesny restarts play with the free kick.57:01
Laurent Koscielny is penalised for a handball. Bryan Ruiz restarts play with the free kick.56:04
The ball is sent over by Tomas Rosicky, clearance by Brede Hangeland. Santi Cazorla takes the outswinging corner, Urby Emanuelson manages to make a clearance.55:18
Corner taken right-footed by Santi Cazorla from the right by-line to the near post, Stanislav Manolev manages to make a clearance.55:08
The ball is crossed by Bacary Sagna, blocked by Kieran Richardson.53:35
The referee blows for offside. Brede Hangeland restarts play with the free kick.51:51
Strike comes in from Bryan Ruiz from the free kick.51:51 Booking
Booking Mikel Arteta shown a yellow card.51:41
Mikel Arteta concedes a free kick for a foul on Urby Emanuelson.51:25
Centre by Santi Cazorla, Philippe Senderos makes a clearance.49:44
The offside flag is raised against Theo Walcott. Free kick taken by Mark Schwarzer.48:41
The ball is crossed by Nacho Monreal, clearance by Stanislav Manolev.47:49
The official flags Urby Emanuelson offside. Free kick taken by Nacho Monreal.46:17
Olivier Giroud fouled by Brede Hangeland, the ref awards a free kick. Theo Walcott crosses the ball from the free kick right-footed from right channel, comfortable save by Mark Schwarzer.45:01
The match restarts for the second half.45:00 +2:03 Half time
Half Time The ref blows to end the first period.45:00 +0:50
Theo Walcott produces a cross.45:00 +0:20
Santi Cazorla produces a cross, save by Mark Schwarzer.42:44
Assist on the goal came from Laurent Koscielny.42:44 Goal scored
Goal! - Per Mertesacker - Fulham 0 - 1 Arsenal Per Mertesacker finds the net with a headed goal from inside the six-yard box. Fulham 0-1 Arsenal.41:43
Free kick awarded for a foul by Eyong Enoh on Aaron Ramsey. A cross is delivered by Theo Walcott,39:31
Urby Emanuelson takes a shot. Save by Wojciech Szczesny. Corner taken left-footed by Urby Emanuelson from the right by-line, clearance by Bacary Sagna.35:32
Mikel Arteta gives away a free kick for an unfair challenge on Dimitar Berbatov. Free kick taken by Bryan Ruiz.34:21
Olivier Giroud takes a shot from a just insdie the box and strikes the post.33:41
The referee blows for offside. Wojciech Szczesny restarts play with the free kick.33:03
Aaron Ramsey concedes a free kick for a foul on Bryan Ruiz. Free kick taken by Bryan Ruiz.32:22
Aaron Ramsey gives away a free kick for an unfair challenge on Urby Emanuelson. Direct free kick taken by Brede Hangeland.31:09
Tomas Rosicky produces a cross.30:47
The ball is swung over by Bacary Sagna, Kieran Richardson makes a clearance.28:47
The ball is swung over by Theo Walcott, save by Mark Schwarzer.27:39
Centre by Nacho Monreal, Philippe Senderos makes a clearance.27:06
Aaron Ramsey takes a shot. Save made by Mark Schwarzer.26:12
The ball is sent over by Alex Kacaniklic, clearance by Per Mertesacker.25:24
A cross is delivered by Aaron Ramsey.23:39
Olivier Giroud takes a shot. Blocked by Brede Hangeland.23:01
Kieran Richardson produces a left-footed shot from outside the penalty area and misses left.22:21
Alex Kacaniklic takes a shot. Blocked by Per Mertesacker. Bryan Ruiz takes the inswinging corner, Bacary Sagna makes a clearance.19:56
Dimitar Berbatov takes a shot. Save by Wojciech Szczesny. Corner crossed in by Bryan Ruiz, save made by Wojciech Szczesny.19:11
The ball is crossed by Urby Emanuelson, Per Mertesacker manages to make a clearance.18:41
Olivier Giroud takes a shot. Brede Hangeland gets a block in.18:21
The ball is delivered by Bacary Sagna, clearance made by Brede Hangeland.16:48
Stanislav Manolev crosses the ball, comfortable save by Wojciech Szczesny.15:38
The ball is swung over by Stanislav Manolev. The referee blows for offside against Dimitar Berbatov. Wojciech Szczesny takes the indirect free kick.15:19
Unfair challenge on Bryan Ruiz by Aaron Ramsey results in a free kick. Direct free kick taken by Bryan Ruiz.14:28
Free kick awarded for a foul by Urby Emanuelson on Aaron Ramsey. Theo Walcott produces a shot on goal direct from the free kick, Mark Schwarzer makes a comfortable save.14:12
Aaron Ramsey takes a shot. Blocked by Philippe Senderos.13:35
Eyong Enoh gives away a free kick for an unfair challenge on Theo Walcott. Free kick taken by Theo Walcott.11:54
Direct free kick taken by Aaron Ramsey.11:54 Dismissal
Dismissal The referee sends off Steve Sidwell for serious foul play.11:34
Unfair challenge on Mikel Arteta by Steve Sidwell results in a free kick.8:17
Free kick awarded for an unfair challenge on Santi Cazorla by Eyong Enoh. Theo Walcott crosses the ball, Laurent Koscielny has a headed effort from close in and clears the bar.5:15
The ball is crossed by Nacho Monreal, clearance made by Philippe Senderos.3:38
Theo Walcott fouled by Kieran Richardson, the ref awards a free kick. Free kick crossed right-footed by Santi Cazorla, Brede Hangeland manages to make a clearance.1:49
The offside flag is raised against Theo Walcott. Free kick taken by Mark Schwarzer.1:27
A cross is delivered by Urby Emanuelson, Per Mertesacker makes a clearance.0:00
The referee gets the game started.
Live data and text provided by our data suppliers