The Irons, who had started the day in fifth place, saw an early long-range effort from midfielder Alex Song ruled out for offside before Arsenal went ahead on 41 minutes through a penalty from Santi Cazorla.
The visitors doubled their lead before half-time with a close-range finish from Danny Welbeck.
A header by Cheikhou Kouyate reduced the deficit at the start of the second half and Arsenal had to withstand plenty of pressure, but they also forced a string of fine saves from Adrian on the break as they held out to move level with Southampton, whom they play on New Year's Day.
Song looked to have fired the Irons ahead on five minutes as he rifled a 25-yard strike into the net following a corner, choosing not to celebrate against his former club.
The assistant's flag was raised immediately, though, as three West Ham players were standing offside in front of Arsenal goalkeeper Wojciech Szczesny.
Arsenal looked to use their pace on the break
Santi Cazorla floated in a free-kick, but Laurent Koscielny got in Alexis Sanchez's way as he stooped for a header, which went wide
On 35 minutes, Andy Carroll caught Mathieu Debuchy in the face with his forearm as they jumped on the edge of the Arsenal penalty area, flooring the defender.
Referee Neil Swarbrick showed the striker a yellow card - another official might have gone with a red.
James Tomkins, making his 200th appearance for the Hammers, curled his shot over from 10 yards after being picked out by a floated cross from Joey O'Brien.
Arsenal took the lead on 41 minutes
Cazorla darted through a crowded left side of the area, where he was tripped by Winston Reid after the defender fell backwards
The West Ham players protested, but the referee was unmoved, and Cazorla, who had allowed Sanchez to take a penalty against QPR, which was saved, dusted himself down to roll the ball into the bottom left corner.
No sooner had the home fans burst into renditions of "1-0 to the referee" than Arsenal doubled their lead.
A neat exchange of passes between Cazorla and Debuchy released Alex Oxlade-Chamberlain down the right and his low cross went through Reid's legs before Welbeck slid in ahead of Tomkins to slot home on 44 minutes.
West Ham were much more positive at the start of the second half, with a deep cross from Diafra Sakho headed behind at the far post by Per Mertesacker as Carroll closed in.
The Irons maintained the pressure and pulled a goal back on 54 minutes.
Tomkins got to the byline and floated a high ball into the six-yard box, where Kouyate got up above Debuchy to head past Szczesny, who was wrong-footed by a slight deflection.
Arsenal were prevented from restoring their two-goal cushion when Adrian produced a strong left-handed save to beat away a fierce drive from Cazorla following more good work from Sanchez.
Home boss Sam Allardyce made a change on 62 minutes when Enner Valencia replaced Sakho.
Arsenal looked to counter quickly, with Welbeck driving down the left channel and clipping a low shot across the face of goal.
Adrian was again in the right place to make a superb reflex save with his feet from a bullet header by Oxlade-Chamberlain.
Welbeck then blazed over after latching onto a stray pass from Stewart Downing and darting into the area.
Oxlade-Chamberlain blasted wide and then tumbled in the box after what looked like a push from Reid, but still a third Arsenal goal proved elusive.
During the closing moments of five minutes of stoppage time a looping header from Valencia dropped onto the roof of the net, but the Hammers could not find a leveller.
Source : PA
Source: PA