Two goals from Manuel Lanzini, including a sensational first strike, helped West Ham United edge a dramatic 3-2 victory over Crystal Palace at Selhurst Park.
Palace started brightly and almost went ahead in the second minute but Jeffrey Schlupp's effort came back off a post.
The visitors then scored two goals in quick succession through Michail Antonio and Lanzini. Antonio slid in to convert a teasing cross from Said Benrahma on 22 minutes and three minutes later, Lanzini fired in after showing superb skill in the area.
Lanzini then made it 3-0 from the penalty spot in first-half stoppage time after a handball by Luka Milivojevic.
Palace piled on the pressure after the break and substitute Michael Olise almost led a dramatic late fightback when he crossed for Odsonne Edouard to finish on 83 minutes before he scored a free-kick very late on.
Jean-Philippe Mateta nearly snatched a draw, with his spectacular overhead kick going just wide in stoppage time.
Palace are 11th on 23 points, while West Ham are fifth with 34 points, one point behind fourth-placed Arsenal.
See: Crystal Palace report | West Ham report
Next fixtures
Crystal Palace: 14 Jan v Brighton (A)
West Ham: 12 Jan v Norwich (H)
Match officials
Referee: Darren England. Assistants: Stuart Burt, Simon Bennett. Fourth official: Jarred Gillett. VAR: Chris Kavanagh. Assistant VAR: James Mainwaring.
WHO'S GOING TO BE YOUR
MAN OF THE MATCH?
Vote at Full-time