With Southampton defenders backing off, the Egyptian ran half the length of the pitch before firing past Angus Gunn with his left foot.
Liverpool substitute Jordan Henderson sealed victory late on with a close-range finish.
Shane Long had handed Saints an early lead with a composed strike from inside the area but Naby Keita headed the visitors level with his first goal for the club before the break.
The result sees Liverpool leapfrog Manchester City yet again – the 25th time the lead has changed hands this season, the joint second-highest number in the English top flight in the post-World War Two era.
The Red have a two-point gap at the top, although defending champions City have a game in hand with six matches left to play.
|Race for the Premier League title|
|Date||Liverpool fixtures||Date||Man City fixtures|
|14 April||Chelsea (H)||14 April||Crystal Palace (A)|
|21 April||Cardiff (A)||20 April||Tottenham (H)|
|24 April||Manchester United (A)|
|26 April||Huddersfield (H)||28 April||Burnley (A)|
|4 May||Newcastle (A)||4 May||Leicester (H)|
|12 May||Wolves (H)||12 May||Brighton (A)|
Southampton remain in 16th place, just five points above the relegation zone.
Liverpool leave it late again
Jurgen Klopp’s side have the best away record in the league but they got off to a poor start when Pierre-Emile Hojbjerg’s flick-on found an unmarked Long to finish well inside the area.
Their biggest threat came from wide areas and the right foot of Trent Alexander-Arnold, who delivered a sensational cross for Keita to convert off the back of Jannik Vestergaard.
The Reds continued to dominate the ball after the break with 70% possession but they were limited to just one shot on target before Salah struck his 50th Premier League goal in 69 appearances. Only Alan Shearer and Ruud van Nistelrooy have reached the landmark in fewer matches.
Liverpool have scored 20 goals in the final 15 minutes of games this season, more than any other side, and they have also won a league-leading 16 points from losing positions.
If the Reds are to deliver a first league title since 1990, their undying spirit at the death could tip the balance in their favour.
Saints fall away when it matters
Southampton remain five points clear of the danger zone but they were poised to claim a surprise point against the title challengers.
Ralph Hasenhuttl has turned the tide since taking charge at St Mary’s and the hosts produced a disciplined defensive display to limit a side that has scored 85 goals to just five shots on target.
Vestergaard and Maya Yoshida made 10 clearances apiece, while the latter epitomised the Southampton mentality when he leapt off the ground to block Roberto Firmino’s shot with the goal at his mercy.
On-loan Saints striker Danny Ings, ineligible against his parent club, was replaced in the Southampton line-up by Irishman Long, who was making his first league start since February.
Long handed his side the perfect start when he also struck his 50th Premier League goal with a cool finish as the visitors started slowly.
Only five teams have scored fewer goals than Southampton this season, but with Ings set to return and Long back among the goals, they are well placed to pick up the results needed to stay in the top flight.
‘The season is intense for everyone’ – what they said
“The season is intense for everyone. You have an opportunity to make really good changes – Milner and Henderson helped. They were aggressive in a really important way. You could see them pushing the boys.
“Southampton had to suffer in the second half because of the first-half tempo. Difficult away game, 3-1 is a perfect result.
“What a goal [from Salah]. He couldn’t pass because Firmino couldn’t get into the right position. The defender could not concentrate on Mo. Wow, what a goal. A good moment. Naby Keita’s first goal for the club in a crucial moment.”
Southampton manager Ralph Hasenhuttl to BBC Sport: “We saw a very interesting game today. Our team scored very early so it was a long way to the end to get a point or three.
“We showed it is not so easy if we have a plan and surprise them and can cause problems against the big teams. They know this, believe in this and the guys showed up.
“There was a crucial chance for Shane Long for 2-0 and then it would be very interesting, they were struggling at that point. Then we would have had a chance for a point.
“Their first goal was offside and the second we did not react well. We cannot make such a mistake from this position. They have a counter from our shot and it was too easy. We showed in the second half we are brave and we wanted to win the game.
“We have to pay attention and not fear the moment. The team believes, that is important, and know now that teams are coming where we must take the points.”
Saints throw away another lead – the stats
- Southampton have only managed to win one of their six Premier League games played on a Friday, suffering defeat in three of their last four (P6 W1 D2 L3).
- Liverpool have beaten Southampton in four successive league games for the first time in the club’s history.
- Southampton have now lost 23 points from leading positions in the Premier League this season, more than any other side in 2018-19.
- Liverpool have won seven of their last eight Premier League games when conceding the opening goal (L1), including tasting victory on each of the last five.
- Liverpool became the seventh club in English top-flight history to concede 5,000 goals after Everton, Manchester City, Aston Villa, Newcastle, Sunderland and Arsenal.
- Liverpool’s Jordan Henderson is the first Premier League substitute to score a goal, assist a goal and receive a yellow card since Graziano Pelle did so against Crystal Palace in May 2016.
- Naby Keita’s goal for Liverpool was his first Premier League goal of the season from his 23rd shot in the competition. He is the third player from Guinea to score in the league after Kamil Zayatte and Titi Camara.
- Southampton striker Shane Long is the fourth player from the Republic of Ireland to register 50 Premier League goals, along with Niall Quinn (59), Robbie Keane (126) and Damien Duff (54).
Liverpool host Porto in the first leg of their Champions League quarter-final on Tuesday, 9 April (20:00 BST), while Southampton are back at St Mary’s to face Wolves in the Premier League on Saturday, 13 April (15:00).