Steve Sidwell saw red for a nasty challenge on Mikel Arteta early on - but despite playing for almost 80 minutes against ten men, Arsene Wenger's side toiled in the west London sunshine.
The winner was a straightforward one as Fulham's defence went to sleep for a Theo Walcott free-kick just before half-time as Per Mertesacker headed home only his third goal for the club from close-range. Olivier Giroud also received a straight red very late in the game for a challenge on Stanislav Manolev, but the visitors managed to cling on for the vital three points.
The win takes Arsenal above rivals Chelsea into third and some five points clear of Tottenham and although both of them have two games in hand, Wenger will be delighted after a thoroughly unconvincing display by his side on the banks of the Thames.
Arsenal had begun brightly with Spanish duo Santi Cazorla and Mikel Arteta pulling the strings.
And after 12 minutes, Fulham's task was made all the harder when Andre Marriner sent off Sidwell for a nasty challenge which saw him go over the ball and catch Arteta.
Being down to ten men, it would have been easy to assume Arsenal would run riot in midfield - but that was not the case as if anything it sparked Fulham into life.
Dutch loanee Urby Emanuelson was in super form and he almost helped them go ahead when he led a counter-attack before feeding Dimitar Berbatov - but the Bulgarian could not beat Wojciech Szczesny at his near post.
The Polish international was very much the busier of the two goalkeepers and he was at full stretch to tip Emanuelson's fine effort around the post.
Arsenal's best chance came for Giroud as he turned on the edge of the box and was unlucky to see his shot come back off the post.
Then just minutes before the break and Fulham's defensive concentration disappeared as Arsenal went ahead. Walcott's free-kick found Laurent Koscielny at the back post and an unmarked Mertesacker was there to head home from a yard out.
The second half saw Arsenal come out with the game plan of keeping the ball, and they did that with relative ease - limiting Fulham to the odd counter-attack, although neither keeper had a real save of note to make.
Fulham did push late on and Szczesny did make a good save from Kieran Richarson's low free-kick. The follow-up was converted by Manolev, but he was rightfully flagged for offside.
Fulham went for the leveller late on, bringing on Mladen Petric and pushing three up-front, and Arsenal looked nervy, even more so when Giroud also saw red for a challenge on Manolev.
Fulham were camped in Arsenal's box in the closing stages, but with Thomas Vermaelen brought on for extra defensive cover they held on and should have doubled their lead in the dying seconds when Aaron Ramsey broke clear but he pulled it wide - but the whistle went just seconds later.