Jurgen Klopp’s men started the match 10 points behind fourth-placed Spurs, with questions growing over their ability even to mount a challenge for next season’s Champions League places.
But they dominated the contest from the start and took the lead in the 11th minute when the impressive Darwin Nunez teed up Salah, who fired into the bottom corner.
The visitors’ intensity dropped as the half wore on but they doubled their lead in the 40th minute when Salah took advantage of a horrendous error by Eric Dier, who headed the ball straight into the path of the Egyptian forward.
Harry Kane pulled a goal back in the 70th minute as the decibel count rose among the crowd of 62,000 in the Tottenham Hotspur Stadium but they fell to a third defeat in four league matches.
Spurs have not beaten Liverpool since 2017 and have now lost seven out of the past nine Premier League matches between the sides.
The result will add to doubts over the ability of Antonio Conte’s men to compete at the top of the table after another damaging defeat against a top-four rival.
Tottenham were missing the services of South Korean forward Son Heung-min, who suffered a fracture around his left eye in his side’s midweek Champions League win against Marseille.
Conte put Ivan Perisic up front alongside England captain Kane but the home side were slow out of the blocks.
Nunez, marauding down the left side of the Liverpool attack, tested Spurs goalkeeper Hugo Lloris from a tight angle in just the third minute and flashed another shot wide minutes later.
The Uruguayan was the provider of Salah’s opener, controlling Andrew Robertson’s pass and feeding Salah, who fired unerringly into the bottom corner.
– Becker brilliance –
Tottenham found their feet as the half wore on and were only denied an equaliser when Alisson Becker saved at close range from Perisic after a pinpoint Kane cross.
Midway through the opening period the home fans bayed for a penalty when Ryan Sessegnon went down under a challenge from Trent Alexander-Arnold but referee Andrew Madley waved away the claims and VAR did not intervene.
Liverpool, who had lost their previous two Premier League matches, to Nottingham Forest and Leeds, gave Spurs a mountain to climb when they doubled their lead five minutes before half-time.
Becker punted the ball upfield and Dier got his head to it but mistimed it horribly, straight into the path of Salah, who lifted the ball over Lloris and into the net.
Tottenham raced out of the blocks at the start of the second half.
England defender Dier, desperate to make amends for his error, forced Alisson into a diving save before Perisic rattled the bar.
Klopp’s men remained an occasional threat on the break but Spurs suddenly looked far more dangerous.
They finally made their pressure count with 20 minutes to go when substitute Dejan Kulusevski, who had only just been brought on, set up Kane, who fired home from an acute angle.
The England captain tumbled to the ground after a tangle with Ibrahima Konate but the referee ignored claims for a spot-kick.
Spurs centre-back Clement Lenglet headed over from close range as the minutes ticked down but Liverpool held on to record just their fifth league win of the season.