Arsenal took an early lead through Fredrik Ljungberg but spurned several clear chances, with Steed Malbranque securing an equaliser shortly after the break.
However, Henry crucially struck just eight minutes from time before Dennis Bergkamp confirmed victory late on.
Francis Jeffers made his first start since his £10million summer move from Everton as the Gunners travelled to Fulham for a meeting of the Premiership's two French connections.
Jeffers replaced Sylvain Wiltord as one of two changes to the side that lost 1-0 to Real Mallorca in midweek, with Ray Parlour also coming in for Giovanni van Bronckhorst.
It was more than 33 years ago that these two sides last met, but Fulham are now on the up under Jean Tigana, who, after a brief delay, followed in the footsteps of Arsene Wenger as manager of Monaco.
Tigana included £11.5million record signing Steve Marlet on the bench after an knee injury that was sustained on international duty with France, while Lee Clark was also among the substitutes.
The pre-match minute's silence following the appalling events in the United States was impeccably observed, casting the importance of the game into proper context.
However, the decision to play on has nevertheless been taken and Fulham were immediately into their stride, threatening David Seaman's goal within the first five minutes.
Martin Keown's wayward pass conceded possession and after a foul by Lauren, John Collins' deep free-kick was met by Andy Melville at the far post only for his header to sneak wide of the upright.
For all of Fulham's early pressure, Arsenal, who had previously only shown any signs of danger through Jeffers' nimble touches, still managed to take the lead on 16 minutes.
Robert Pires' low cross from the byline was pulled back to Henry and his mis-hit shot was deflected into the path of Ljungberg.
The Swedish international was standing unmarked just outside the six-yard box and reacted instantly to steer his shot past keeper Edwin van der Sar.
Arsenal were now starting to impose their authority on the game although Fulham continued to threaten on the counter-attack, looking to use Louis Saha's pace behind the visitors' back four.
But when John Collins did give Saha the chance to stretch his legs, he tumbled over in a challenge with Ashley Cole and referee Alan Wiley pointed to agoal-kick, with Malbranque also sending a free-kick just over.
At the other end, Arsenal came even closer as right-back Lauren flashed a dangerous cross across the face of goal, with Henry and Jeffers just failing to connect.
Then Lauren's ball over the top to Henry allowed the striker to reach the byline and Jeffers came agonisingly close to converting the ball as it ran virtually along the goal-line.
Van Der Sar also spilled a fearsome long-range effort by Henry but recovered in time to grab the rebound despite Jeffers piling in with a hefty challenge.
It was Henry's turn to waste a glorious opening next, when Cole slipped the ball to him after a powerful run, only for the Frenchman to blast his shot wide from almost point-blank range.
Henry responded by attempting an audacious chip which van der Sar tipped over the bar, while Vieira skied a drive and Ray Parlour shot wide as Arsenal strode through the Fulham defence time after time.
Fulham had comfortably dominated the first half against Charlton recently only to squander several chances in being held to a 1-1 draw.
This time, they were the side to benefit from such profligacy as they equalised within three minutes of the restart following a superb run by former Arsenal striker Luis Boa Morte.
The Portuguese forward eclipsed Sol Campbell for pace, evaded an attempted sliding tackle by Vieira and then crossed for £4.5million summer signing Malbranque to finish with aplomb into the top corner.
There was now an added spring in the step of every Fulham player as they tackled with increased urgency and bite to harry Arsenal out of their stride.
Still Fulham pressed forward as Arsenal, with Campbell and Keown both looking sluggish, struggled at the back.
However, Sylvain Legwinski's far-post header was somehow saved by Seaman using his body and the ball was cleared off the line amid a mass of players.
In an increasingly high-tempo game, Arsenal showed they were not out of it either as van der Sar needed to produce a reaction save to deny Jeffers.
But with 20 minutes left, Tigana introduced Marlet from the bench to replace Legwinski as he went in search of victory.
Saha attempted too much trickery in front of goal as Campbell blocked him out, while Marlet's follow-up was saved.
But Arsenal still believed they could secure victory and after Bergkamp and Wiltord both came on, it was Henry who put them ahead again with eight minutes left.
Ljungberg was the creator this time, putting the Frenchman through on goal but it was a classic Henry finish as he swept the ball home first-time.
Bergkamp confirmed victory with just a few seconds left as he swept an assured drive into the top corner after fellow substitute Wiltord pulled the ball back to him.