Glen Johnson fired the Reds into the lead with shot into the top corner in the 11th minute.
Mark Noble equalised with a 36th minute penalty after referee Lee Probert felt Liverpool’s Joe Allen had handled Guy Demel’s shot.
Steven Gerrard’s own goal, a header from Matt Jarvis’ cross, put West Ham in front (43rd min. But Liverpool’s Joe Cole levelled before Hammers defender James Collins turned Jordan Henderson’s cross into his own net under pressure from Jonjo Shelvey.
Earlier, Nikica Jelavic and Steven Pienaar grabbed late goals to complete a remarkable fightback as Everton beat Tottenham 2-1 at Goodison Park to go fourth in the table.
Clint Dempsey struck for Tottenham in the 76th minute with the help of a deflection off Everton defender Sylvain Distin. Then David Moyes’ men snatched a deserved victory thanks to an equaliser from South Africa midfielder Pienaar in the 90th minute and Croatia striker Jelavic’s winner in the second minute of stoppage-time.