Mohamed Salah scored twice as Liverpool eventually broke down 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 but looked in danger of being held to a third consecutive Anfield draw after a goalless first half.
Salah missed the opening period’s best chance when he had a penalty saved but the forward, who will now join Egypt at the Africa Cup of Nations, tapped home a cross for the first and 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 later by Alexander Isak, who got in behind the hosts’ defence after good work by Anthony Gordon and curled home.
Liverpool pressed hard to go in front again and eventually Curtis Jones gave them the lead 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 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 lead Aston Villa by three points and have a five-point advantage over Manchester City, who have a game in hand, and Arsenal.
Newcastle, who were missing nine first-team players, remain ninth.