Leicester City pulled six points clear of the Premier League relegation zone as Islam Slimani’s header ended West Ham United’s three-match winning run.
Slimani had already headed against the post when he nodded home Marc Albrighton’s excellent cross.
Home keeper Kasper Schmeichel twice denied Dimitri Payet with fine saves, while Michail Antonio hammered a shot against the Leicester bar.
Schmeichel also did well to keep out Aaron Creswell’s deflected free-kick as champions Leicester ended a momentous 2016 with a first clean sheet in 12 league games.
The win lifts the Foxes one place to 15th, while West Ham’s first league defeat since 3 December means they drop from 11th to 13th.
Relive the action from the King Power Stadium
Reaction from all of Saturday’s Premier League games
Will the real Leicester please stand up?
Leicester chairman Vichai Srivaddhanaprabha rewarded the club’s older fans with a free beer before the game.
It was not to drown their sorrows despite a poor first half to the season, but to reward them for their backing during a historic year in which the 5,000-1 outsiders won the title.