Three goals in the second half kept Arsenal's unbeaten run alive but Fulham were livid at two refereeing decisions.
First Mark Halsey changed his mind about awarding a first-half penalty for Ashley Cole's tackle on Andy Cole, then he disallowed a Collins John header.
But Fulham's anger turned to despair after the break when Freddie Ljungberg slid home the opener.
Zat Knight's own goal made it two and Jose Antonio Reyes' sweet strike completed Arsenal's fifth straight win.
The game began benignly enough, with Arsenal, who welcomed back captain Patrick Vieira after injury, immediately into their stride.
Dennis Bergkamp presented Ljungberg with two difficult early chances but the Swede could convert neither.
But Fulham, looking for their first home win over Arsenal in nearly 39 years, gradually forced their way into the game, prompted by the hustling figure of Mark Pembridge in midfield.
Luis Boa Morte caused havoc on the left wing against his former club and his cross was almost met by Pembridge, while Ian Pearce directed his header from a corner straight at Jens Lehmann.
But the game erupted just after half an hour when Andy Cole burst through on goal and was brought down by England defender Ashley Cole.
Referee Halsey pointed to the spot, but as Arsenal's players gathered to complain he ran over to his assistant and following a brief conversation, indicated a drop ball.
That prompted outrage from Fulham's players, with manager Chris Coleman beside himself on the bench.
Fulham's players were incensed by the referee's decision
As the boos continued to sound around Craven Cottage, Arsenal had their own penalty appeal turned down when Thierry Henry was tackled by Moritz Volz.
And to cap a frenetic final 15 minutes of the first half, John jumped between two Arsenal players to head home and was still celebrating with the home fans when Halsey made yet another controversial decision.
The referee was inevitably a man in demand as he walked off the pitch at half-time, but it was Fulham's imaginative play that caught the eye as the second half began.
John was quickest to a loose ball in the penalty area and toe-poked a shot which Lehmann stuck out a leg to save.
But the introduction of Jose Antonio Reyes dramatically changed the game in Arsenal's favour.
Two minutes after coming on, the Spaniard found Henry who slid a perfect pass for Ljungberg to convert from an angle.
And with Fulham crushed by the disappointment, Arsenal showed their ruthless streak just two minutes later.
Bergkamp and Henry linked up to free Ljungberg and though Knight just beat him to the ball he could only poke the ball past Edwin van der Saar.
Bergkamp was again involved as Reyes completed Fulham's misery, latching onto the Dutchman's pass and despatching a sweet strike into the corner.
Fulham left the pitch still ruing their luck in the first half as Arsenal celebrated a fifth straight win and their 45th game without defeat.
Fulham: Van der Sar, Volz, Bocanegra, Legwinski (Radzinski 76), Knight, Pembridge, Cole, Boa Morte (McBride 83), John, Pearce, Diop. Subs Not Used: Crossley, McKinlay, Goma.
Booked: Van der Sar, Legwinski.
Arsenal: Lehmann, Cole, Vieira (Fabregas 75), Pires (Reyes 61), Ljungberg (Pennant 73), Bergkamp, Lauren, Henry, Cygan, Toure, Silva. Subs Not Used: Almunia, Clichy.
Booked: Vieira, Fabregas.
Goals: Ljungberg 62, Knight 65 og, Reyes 71.
Ref: M Halsey (Lancashire).