Liverpool left the door open for Manchester City to go top of the Premier League after a lacklustre performance in their 1-1 draw at West Ham.
Sadio Mane gave Jurgen Klopp's side the lead in controversial fashion at the London Stadium as James Milner was in an offside position before he crossed for the forward to score (22).
But Liverpool's lead lasted just six minutes as Michail Antonio received Felipe Anderson's disguised free-kick to flash in the equaliser (28).
Declan Rice and Mark Noble both had good opportunities to complete the turnaround before Divock Origi wasted a glorious chance to snatch it for Liverpool in stoppage time.
The result stretches Liverpool's lead at the top to three points, but City would move top on goal difference if they beat Everton at Goodison Park on Wednesday.
Javier Hernandez fired the first warning sign three minutes in, as he received Noble's pass before shooting wide of Alisson's left-hand post. Aaron Cresswell was next to go close with a rasping left-foot drive that narrowly missed the target, but Liverpool then broke the deadlock against the run of play.
Adam Lallana showed great skill to escape Cresswell, but Milner received his pass a yard offside before his cross evaded Issa Diop to allow Mane to fire beyond Lukasz Fabianski.
West Ham's response was immediate. A foul from Fabinho allowed Anderson to find Antonio in the box and the 28-year-old forward flashed in the fourth goal of his career against Liverpool.
Three minutes before the interval, Liverpool's defence was again vulnerable from a West Ham free-kick as Anderson found Rice unmarked, but the youngster's header was off target.
Mane went close again before the interval with his header saved by Fabianski, but there were few notable openings in a cagey second period.
Noble lashed over from Robert Snodgrass' cross with 17 minutes remaining as Liverpool struggled to break down West Ham's dogged defence, but it looked like the visitors would snatch victory when Keita found substitute Origi in the third minute of stoppage time.
The Belgian had been the hero with his injury-time winner in the Merseyside derby earlier in the season but could only scuff his shot at Fabianski this time as two points slipped out of Liverpool's grasp.
The managers
Manuel Pellegrini: "We returned to the pace we have shown in previous games. You can't play in any games if you don't have high pace.
"After we beat Arsenal, it was similar work that we did today. We created more chances tonight, but having lost those three games, the team we saw tonight is the team we must try to play from now until the end of the season."
Jurgen Klopp: "It was not our best performance of course because we came up against difficult opponents.
"We had good moments, coming through the channels and scored the goal, which I've now been told is offside. This explains a little bit the second half, because I think the referee knew at half-time.
"He knew it for sure at half-time, and then you saw a lot of strange situations. They were not decisive but just rhythm breakers. That obviously didn't help us."
Man of the match - Felipe Anderson
Liverpool have struggled at right back in Trent Alexander-Arnold's absence, and West Ham targeted that area with Anderson causing Milner countless problems. In the first half in particular, the Brazilian created three chances, more than any other player on the pitch.
His delivery from wide areas instilled fear in the Liverpool defence and he was again at the heart of West Ham's counter-attacks in the second period, retaining the ball to ease the pressure on his defenders. After a recent dip, here was Anderson back to his best.
Opta stats
- West Ham are unbeaten in three consecutive home Premier League games (W1 D2) for the first time since February 2018 (a run of four).
- Liverpool have won 62 points from their opening 25 Premier League games this season - only during the 1987/88 campaign have they had more points at this stage of a top-flight season (63 - 3pts for a win).
- Sadio Mané has scored in three consecutive Premier League appearances for Liverpool for only the second time, also doing so in August 2017 (a run of four).
- Liverpool's Sadio Mané has scored three goals in his last three Premier League appearances, having scored just two in his previous 11 games.
- Liverpool's James Milner has registered 81 assists in the Premier League, the seventh-highest total in the competition and one more than David Beckham (80).
- West Ham's Michail Antonio has scored four goals in his five Premier League games against Liverpool, more than he has managed against any other side.
- Liverpool's Naby Keita has made more Premier League appearances without losing a game than any other player in the competition's history (18 games, 14 wins, 4 draws).
What's next?
West Ham travel across London to play Crystal Palace in the Premier League on Saturday while Liverpool will host Bournemouth.