Arsenal stayed fifth in the table, four points behind Chelsea and 12 adrift of leaders Manchester City who have a game in hand and play at Wigan Athletic on Monday. Swansea moved up to 10th.
The league's top scorer Robin van Persie put the Gunners ahead in the fifth minute but the Londoners' hopes of closing the gap between them and the Champions League places suffered a setback when Scott Sinclair equalised from the penalty spot 11 minutes later.
Nathan Dyer fired the Welsh side in front on 57 minutes at a chilly Liberty Stadium, Theo Walcott came good with an equaliser in the 69th but Danny Graham hit back straight from the restart.
Henry, Arsenal's all-time top scorer who made a fairytale return last Monday with the winning goal in an FA Cup Third Round tie against Leeds United, came on as a substitute in the 63rd minute but was unable to conjure up more of his magic.
The 34-year-old Frenchman, on loan from the New York Red Bulls during the Major League Soccer close-season, last played in the Premier League with Arsenal five years ago.
Swansea last beat Arsenal in 1982 and manager Brendan Rodgers hailed his men.
"The journey that we've been on in the last 18 months or so has been incredible. To beat a top team and a top club and manager like Arsenal was fantastic. I'm very proud," he said.
Arsenal manager Arsene Wenger questioned the penalty decision after Wales international captain Aaron Ramsey's foul on Dyer.
"We lost because we played against a good team, we were unlucky because we got a penalty that was not a penalty, and we made mistakes," he told the BBC.
"For a team with our experience and ambition it is difficult to explain."
While part of the principality was celebrating a famous victory for promoted Swansea's slick-passing team, former Wales manager Hughes watched his relegation-threatened side lose 1-0 at Newcastle United.
Leon Best stroked home a fine winner in the 37th minute to send Newcastle up to sixth place. Third-bottom QPR have now gone nine games without a victory.
Former Manchester City and Fulham boss Hughes took over at the West London club on Tuesday after Neil Warnock was sacked.
"I've only been through the door a week but very clearly I saw things that we'd worked on, that the players on the field were trying to implement," Hughes told Sky Sports television.
"I was pleased with their application, giving me everything that they had.
"I thought we created a number of reasonable chances and on another day those will go in for us. It would have been ideal obviously if I could have got something out of the game because... we deserved something," added Hughes.
The visitors looked sharp and twice hit the woodwork in the first half, with Jay Bothroyd also having two good chances after the break.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.