Arsenal spurned several first-half chances at Upton Park and they were punished early in the second period when Carlton Cole put the hosts in front after Wojciech Szczesny spilled a shot from Kevin Nolan.
However, Walcott struck twice in three minutes to turn the game around, squeezing a low shot past West Ham goalkeeper Adrian in the 68th minute and then heading home a cross from substitute Lukas Podolski.
Podolski was making his first appearance since August after a hamstring injury and he marked his comeback with a goal in the 79th minute, drilling home from Olivier Giroud's lay-off.
Liverpool slipped from first to fourth in the Premier League after losing 2-1 at Manchester City on Thursday, leaving Arsenal in first place following a frantic Boxing Day programme.
Brendan Rodgers's Liverpool started the day in first place and they made an impressive start at the Etihad Stadium, with Philippe Coutinho giving the visitors a 24th-minute lead after a neat team move.
However, City captain Vincent Kompany headed home an equaliser seven minutes later and Alvaro Negredo put the hosts in front on the stroke of half-time with a tame shot that Liverpool goalkeeper Simon Mignolet could only palm into the net.
City, who have now won all nine of their home games this season, climb to second place, a point behind Arsenal, while Liverpool, for whom Raheem Sterling spurned a fine second-half chance, are three points off the pace.
Belgium winger Eden Hazard scored the game's only goal in the 29th minute at Stamford Bridge, cutting in from the left in familiar fashion before letting fly with a low drive that squeezed beneath Gerhard Tremmel.
Ki Sung-yueng scored the game's only goal from the penalty spot in the 25th minute, after Everton goalkeeper Tim Howard was sent off for a foul on the South Korea international.
It was Sunderland's first away win since April and left Gus Poyet's men three points from safety.
Manchester United doggedly overturned a two-goal deficit to win 3-2 against Hull City at the KC Stadium and register their fifth consecutive win in all competitions.
Early goals from James Chester and David Meyler gave Hull a 2-0 lead, only for Chris Smalling and Wayne Rooney to bring United level before half an hour had been played.
Rooney's goal, a sumptuous volley, was his 150th for the club in the top flight and he contributed to the winner in the 66th minute by pressuring Chester, a one-time United youth player, to put through his own goal.
Stoke took the lead through Oussama Assaidi, but they had Glenn Whelan and Marc Wilson sent off, allowing Newcastle to prevail through a Loic Remy brace and goals from Yoan Gouffran, Yohan Cabaye and Papiss Cisse.
Scott Parker scored a stunning 87th-minute winner as Fulham won 2-1 at Norwich City, but they remain in the bottom three due to Crystal Palace's 1-0 win at Aston Villa, which lifted Tony Pulis's men out of the drop zone.