Mohamed Salah scored twice as Liverpool eventually broke down resilient Newcastle United to open up a three-point lead at the top of the Premier League.
In a relentless and frantic game, fuelled by wicked rain and wind on Merseyside, Liverpool took swing after swing at Newcastle in the first half but were in danger of being held to a third consecutive Anfield draw.
But Salah, who will now depart to join Egypt at the Africa Cup of Nations and who had a first-half penalty saved, tapped home a cross for his side’s first then converted a second spot-kick in the closing stages.
His first strike was his 150th Premier League goal for the Reds, but it was cancelled out five minutes by Alexander Isak, who got in behind the hosts’ defence and curled home.
Liverpool pressed to go in front again and eventually Curtis Jones gave them the lead again before a scuffed Cody Gapko effort from a brilliant Salah pass gave them breathing space.
But back came Newcastle when Sven Botman headed home a corner to make it 3-2 before Salah sent Martin Dubravka – who was heroic throughout – the wrong way to secure the points.
Liverpool had won their opening seven Premier League games at Anfield this season but had been held to draws by Manchester United and Arsenal in their previous two home games.
They now lead Aston Villa by three points and have a five-point lead over Manchester City, who have a game in hand, and Arsenal.
Newcastle, who were missing nine first-team players, remain ninth.