The Reds led 3-2 as the final whistle of a topsy-turvy match approached, but after James Milner was sent off in the 89th minute for two yellow-card offence, it was a nervy ending as the Premier League leaders desperately tried to hold on to their lead.
The win was ultimately secured when Sadio Mane added a fourth in stoppage time, though there was still time for Max Meyer to score a consolation for the visitors.
Liverpool had dominated the vast majority of the first half at Anfield but it was Palace who broke the deadlock through Andros Townsend, who beat Alisson from close range after Wilfried Zaha pulled a cross back.
The hosts came out for the second period with goals on the agenda, and it took just one minute for Salah to equalise before they went ahead seven minutes later through Roberto Firmino.
Palace were not down and out just yet, though, and James Tomkins capitalised on poor defending to head his side level from a corner.
However, a calamitous error by Julian Speroni – making his first appearance since December 2017 – handed Liverpool an advantage they did not relinquish again, the visitors’ keeper scooping the ball towards his own net for Salah to poke in from on the line.
With the rest of the top four yet to play this weekend, Liverpool remain seven points clear at the top of the table, while Crystal Palace stay 14th.
It was a tense performance from start to finish on a day Liverpool were paying tribute to Bob Paisley, the club’s most successful manager, before what would have been his 100th birthday on Wednesday.
Prior to Saturday’s game, Liverpool had conceded just three goals at home all season, but that was soon to change as Roy Hodgson’s Palace rolled into town.
Making his first start for the Reds since 11 December, Joel Matip had two early chances to open the scoring but Jurgen Klopp’s side struggled to find a response after Townsend’s goal.
Whatever Klopp said to his players in the dressing room at half-time worked, though, with Salah bringing his side level with a toe poke after Virgil van Dijk’s long-range effort had deflected into his path off James McArthur.
It was a goal that lifted the atmosphere at Anfield as Liverpool capitalised on the change of tempo, Firmino making no mistake with his right foot to put the Reds ahead.
Sloppy defending at a corner allowed Tomkins to equalise but Speroni soon gifted Liverpool the winner with a mistake he will not forget in a hurry, Salah tapping home from on the goalline for his half-century of top-flight strikes.
Three points were secured when Mane scored a simple goal, after Milner had been dismissed for two mistimed challenges on Zaha.
Liverpool have now won seven consecutive Premier League home games for the first time since January 2014, and extend their unbeaten league run at Anfield to 32 matches.