Jamie Vardy put Leicester ahead but Liverpool, who had new £75 million ($100 million) signing Vigil van Dijk watching from the Anfield stands, fought back after the interval to secure the points.
Salah was again instrumental for Jurgen Klopp’s side as he took his tally to 17 Premier League goals this season with two fine finishes.
Liverpool, who remain fourth, are four points clear of fifth placed Tottenham.
Klopp’s goalkeeper rotation policy saw Loris Karius start ahead of Simon Mignolet, who dropped to the bench, and after just three minutes the German was forced to pick the ball out of the net.
Joel Matip’s timid pass from the back sold Emre Can short and Vicente Iborra’s sharpness saw him steal possession and quickly release Riyad Mahrez down the right flank.
The Algeria winger glided past left-back Andrew Robertson and his teasing low cross was met by Vardy, who showed his penalty box predatory instincts to nip in front of Matip and finish.
It was Vardy’s 10th goal of the season in all competitions as he again scored against a top-six club having netted previously in matches against Arsenal, Chelsea, Tottenham and both Manchester clubs.
Liverpool shook off their sluggishness and should have equalised moments after Vardy’s opener when Salah was found by Sadio Mane only to get his angles wrong and drag a shot wide from eight yards.
Philippe Coutinho stung the palms of Kasper Schmeichel with a long-range effort while Mane had the ball in the net from Robertson’s cross only to be correctly flagged offside.
Liverpool continued to threaten the visitors’ goal from distance with Joe Gomez and Roberto Firmino both going close before the break.
Where Salah had snatched at some of his chances in the first half, his composure early in the second period saw him equalise for the home side.
– Pinpoint finish –
Seven minutes after the interval the Egypt international chased Mane’s clever backheel into the penalty area before his close control took him past Daniel Amartey on to his favoured left foot.
With the Kop screaming for the net to bulge, Salah took a moment then arrowed a pinpoint finish through the legs of Schmeichel.
An unsavoury incident followed as Firmino, eager to get the ball for Leicester to kick-off, and Harry Maguire grappled inside the goalmouth before referee Neil Swarbrick stepped in.
Mane had the ball in the net again just after the hour, but again he was in an offside position.
Leicester’s chances were more fleeting although Karius breathed a sigh of relief when Wilfred Ndidi’s sweetly struck shot following a corner whistled past the post.
Salah was to prove the difference between the two sides, though, when he added his and Liverpool’s second to put the Reds in front with 14 minutes remaining.
Firmino rolled the ball in to James Milner and his clever flick slipped in Salah. Milner looked for the return pass, but Salah had other ideas.
The 25-year-old showed his strength to roll the otherwise faultless Maguire before he clinically dispatched the ball past Schmeichel.
Leicester piled on the pressure in the remainder of the game but this time Liverpool’s defence stood up to the job and held on to clinch the three points.
Would you like to place a soccer bet? Click here to get started in 3 easy steps.