Arsenal looked dangerous from the outset and set a perilously quick pace. In the opening minutes Cesc Fabregas burst into space and fired in a shot but Green blocked to send the ball spinning out of play for a corner. Green was called upon again moments later, this time Emmanuel Adebayor struck a low effort inside the box but the Hammers keeper made a diving save.
James Collins made a vital interception after 10 minutes of play, when he headed clear Tomas Rosicky's dangerous ball from the right flank.
Arsenal came forward again as Freddie Ljungberg made a darting run through the middle but Green dived low to block the shot.
Hammers had a free-kick after 18 minutes when Matty Etherington was brought down on the left wing. Carlos Tevez curled the ball into the box and Jens Lehmann palmed it away, but it fell to Lee Bowyer and his powerful drive was blocked by a wall of Arsenal defenders.
As the first half wore on Hammers settled into their game and moved the ball around the park with confidence. But Arsenal continued to look threatening.
Green made an excellent save to deny Rosicky in the 37th minute when the Czech international struck a fierce drive across goal. Hammers went straight down the other end as Bobby Zamora came agonisingly close to playing Carlos Tevez into a one-on-one with Lehmann but the final ball was a fraction too long.
Moments later Tevez found space to fire in an effort when he latched onto a long ball from Zamora, but Lehmann comfortably gathered.
Hammers took the lead in first-half injury time as Lucas Neill played the ball upfield and Zamora lifted it artfully over Lehmann.
At half-time Jonathan Spector replaced George McCartney at left-back. Five minutes nto the second half Arsenal won a corner which Rosicky played in to the box. Adebayor headed downwards toward goal but Neill flicked the ball over the bar for another corner. Rosicky played it in again but this time Hammers seized possession and Tevez made a darting run up the pitch, only to be matched for pace by Gael Clichy, who cleared.
Hammers pressed forward again. Lee Bowyer fired a volley straight at Lehmann from Zamora's knock-down and Arsenal went on the attack. Green produced an outstanding save with his right hand to deny Gilberto.
Green made another spectacular save in the 59th minute to parry Adebayor's clear headed on target with his outstretched left arm. Moments later Fabregas let fly with a blistering shot but it clattered back off the bar and Collins headed clear.
In the 66th minute Luis Boa Morte joined the field to face his former club, replacing Zamora and former Hammer Jeremie Aliadiere came on for Alexander Hleb. In the 73rd minute Collins was booked for time-wasting as the Hammers prepared to take a free-kick inside their own half.
With nine minutes left on the clock Arsenal claimed a corner as Gilberto's header flicked off Neill but Green punched Rosicky's cross clear. Green caught Rosicky's header and seconds later Gilberto's low drive shaved the outside of the post.
With two minutes left to play Luis Boa Morte squandered a gilt-edged chance to put the Hammers 2-0 up, but he put his shot wide after Kepa played him through. Arsenal laid siege to the Hammers penalty area for the remaining minutes of the match, but couldn't find an equaliser.
Arsenal: Lehmann; Eboue, Toure, Gallas, Clichy; Ljungberg (Baptista, 76) Fabregas, Hleb (Aliadiere, 66), Gilberto; Rosicky; Adebayor
Subs: Almunia, Diaby, Senderos.
West Ham United: Green; Neill, Ferdinand, Collins, McCartney (Spector, 46); Bowyer, Noble, Reo-Coker (c), Etherington; Tevez (Kepa, 81), Zamora (Boa Morte, 66).
Subs: Carroll, Mullins.