Leicester returned to winning ways to cut the gap on Premier League leaders Liverpool to 10 points and pile the pressure on West Ham manager Manuel Pellegrini.
Kelechi Iheanacho and Demarai Gray were on target either side of Pablo Fornals' leveller on the stroke of half-time, handing Leicester victory after successive defeats to Manchester City and Liverpool.
Gray saw his 11th-minute spot-kick saved by the fit-again Lukasz Fabianski after Leicester boss Brendan Rodgers had made nine changes from the side beaten 4-0 by Liverpool on Boxing Day.
Top scorer Jamie Vardy was among those missing after his wife Rebekah gave birth to their third child.
West Ham – who before kick-off paid tribute to their former England midfielder Martin Peters following his death last week – have won just just twice since September 22 and Pellegrini is sure to face further scrutiny with the Londoners just one point above the relegation zone.
There was no shortage of VAR controversy on a day when three goals were disallowed for offside by the tiniest of margins.
One of them came at Carrow Road where Norwich and Tottenham drew 2-2.
Mario Vrancic's first Premier League goal had given Norwich an 18th-minute lead before Teemu Pukki's brilliant finish was ruled out by VAR, even though the Finland striker originally looked onside.
Tottenham made the most of their good fortune as Christian Eriksen levelled with a brilliant 55th-minute free-kick.
Norwich were back in front within six minutes when Serge Aurier put through his own net.
But Harry Kane equalised from the penalty spot seven minutes from time after Christoph Zimmermann had brought down the England captain.
Dominic Calvert-Lewin was the hero again as Carlo Ancelotti's Everton continued to climb the table with a 2-1 win at Newcastle.
Calvert-Lewin was the match-winner on Boxing Day as Ancelotti began his Everton reign with a 1-0 victory over Burnley.
And the 22-year-old striker took his season's goal tally to 10 – the best of his career – with two more at St James' Park inflicting a third defeat in four games on Steve Bruce's Newcastle, with Fabian Schar grabbing a consolation.
Troy Deeney scored twice as 10-man Watford beat Aston Villa 3-0 to maintain their revival under new manager Nigel Pearson.
Deeney put the Hornets ahead three minutes before Watford were reduced to 10 men in the 57th minute when Adrian Mariappa was sent off for a second bookable offence.
But Deeney converted his third goal in as many games midway through the second half, slotting home from the penalty spot, and four minutes later Ismaila Sarr wrapped up victory.
Brighton recorded their first home win since November 2 with a convincing 2-0 home victory over struggling Bournemouth.
Iran international Alireza Jahanbakhsh gave the Seagulls a third-minute lead with a powerful shot, his first goal for the club.
VAR ruled out a second-half goal from Dan Burn after the Brighton left-back was judged to be offside by the tightest of margins.
But Aaron Mooy rewarded Brighton's domination with a brilliant second goal 11 minutes from time.
Southampton and Crystal Palace drew 1-1 at St Mary's. Palace were denied an early lead when Max Meyer smashed home, only for Wilfried Zaha to be ruled marginally offside by VAR in the build up.
James Tomkins headed Palace in front before Danny Ings levelled with his 12th goal of the season.