The Reds came into the game looking to again move back above Manchester City at the top of the table having been replaced on Wednesday when the reigning champions defeated Cardiff 2-0 at the Etihad Stadium.
However, they suffered a nightmare start when Shane Long put the Saints ahead inside the opening 10 minutes.
But the Reds battled back and Naby Keita’s first goal in English football ensured that they went in at the break on level terms.
And Jurgen Klopp’s men were rewarded for their perseverance late on in the second half with Mohamed Salah ending his poor run of late by becoming the fastest player to reach 50 Premier League goals for the Reds, before substitute Jordan Henderson wrapped things up.
Liverpool move on to 82 points – two ahead of City – while Southampton remain in 16th spot just five points clear of the relegation places.
Southampton made two changes to the side that beat Brighton 1-0 last weekend as Jannik Vestergaard and Long came in for Danny Ings and Stuart Armstrong.
There were also two changes to the Liverpool side that beat Tottenham 2-1 on Sunday with James Milner and Henderson replaced by Fabinho and Keita.
Liverpool started brightly but it was the Saints who looked more threatening when they ventured forward and they subsequently took the lead in the ninth minute.
Ryan Bertrand did well down the left and his cross was flicked on by Pierre-Emile Hojbjerg to Long, who was left unmarked in the middle of the area as had time to stab home the 50th Premier League goal of his career.
Liverpool almost levelled on 16 minutes when Salah picked out Sadio Mane in the area and his downward header was brilliantly pushed away by Angus Gunn, before Keita put the rebound wide off the post from a tight angle.
It should have been 2-0 minutes later when Trent Alexander-Arnold lost possession to Nathan Redmond down the left and his low ball across the face of the area was missed by Long, when he looked set for a simple tap-in. Virgil van Dijk then narrowly avoided an own goal as he cleared the danger over his own crossbar.
The Saints appeared to have done a good job of soaking up the growing pressure until they finally succumbed in the 36th minute when Keita got up between two defenders to meet Alexander-Arnold’s cross from the right and guided a header into the bottom corner which Gunn just failed to keep out.
There was a question of Salah being offside in the build-up but it was a very close call as he looked level with the last man.
Southampton looked the sharper of the two sides after the interval, but they were fortunate not to concede a penalty on 57 minutes when Maya Yoshida slid in and took the legs of Keita in the area, but referee Paul Tierney waved play on.
Yoshida was the hero for the Saints in the 67th minute when he put in a last-ditch block to deny Roberto Firmino when the ball dropped kindly to him inside the area.
Liverpool continued to press for a second and they should have had it on 74 minutes when Andrew Robertson lifted a cross over the head of Salah who was waiting for a tap-in at the back post.
However, Liverpool got their crucial second of the night in the 80th minute from one of the Saints’ rare attacks of the second half.
They cleared a corner and a quick counter-attack was launched with Henderson heading the ball into the path of Salah inside his own half and the Egyptian raced to the edge of the penalty area before guiding his effort into the bottom corner.
The points were sealed four minutes from time when Firmino did well down the right before rolling a low cross into the middle for the onrushing Henderson to fire in his first goal in 18 months from close range.