Carlton Cole opened the scoring for lowly West Ham after the break but Walcott struck twice before Lucas Podolski wrapped up a first win in four league games for Arsenal. (Agencies)
Eden Hazard's goal was enough for Chelsea to secure a 1-0 home win against Swansea City and move into second place with 37 points, two behind Arsenal, after 18 games.
Christmas leaders Liverpool could regain top spot on goal difference if they win at Manchester City in the later (1730) kickoff.
Champions Manchester United's surge in form continued as they hit back from two goals down at Hull City to win 3-2 and move into seventh spot.
Everton's hopes of completing 2013 unbeaten at home in the Premier League vanished as they lost 1-0 at home to bottom club Sunderland after keeper Tim Howard was sent off.
Everton are fifth with 34 points, one more than Newcastle United who thumped nine-man Stoke City 5-1.
Tottenham Hotspur are eighth following a 1-1 draw with West Bromwich Albion in Tim Sherwood's first match in charge since being named as the club's permanent manager.
Wins for Crystal Palace at Aston Villa and Fulham at Norwich City meant the three sides that began the day in the bottom three all won, leaving West Ham to drop into the bottom three.
Cardiff City were beaten 3-0 at home by Southampton, raising fresh doubts over the future of manager Malky Mackay.
Carlton Cole opened the scoring for lowly West Ham after the break but Walcott struck twice before Lucas Podolski wrapped up a first win in four league games for Arsenal.