Adrian was fortune to make a last-ditch save from point-blank on Yoshida’s header before Adams sent an attempt sailing over the crossbar, with Southampton the better side over the opening 30 minutes.
That second life was all Liverpool needed, as Sadio Mane, who scored his first goal against his former club, punched the visitors ahead on the stroke of halftime when he manufactured a sublime right-footed chance that beat Angus Gunn into the side netting.
James Milner would roll a benign shot past the post, which had caught Gunn flat-footed, while Mohamed Salah failed to convert when played through one-on-one with the goalkeeper to start the second half.
Robert Firmino should have doubled Liverpool’s lead when he was set free on goal, but he atoned for the miss just three minutes later, skipping past two Southampton defenders before firing into the back of the net.
Adrian gave Southampton a huge lift eight minutes from full-time when he was caught in possession and his attempted clearance bounced off a pressing Danny Ings for Southampton’s first goal of the season — But the forward couldn’t play hero as he missed a potential equaliser from six yards out in the closing stages.
Southampton: Gunn, Bertrand (Djenepo 78), Yoshida, Bednarek, Vestergaard, Valery, Romeu (Ings 64), Hojbjerg, Ward-Prowse, Redmond, Adams (Armstrong 68)
Unused subs: Forster (GK), Cedric, Danso, Obafemi
Goals: Ings (83)
Bookings: Romeu (36), Djenepo (84)
Liverpool: Adrian, Alexander-Arnold, Matip, Van Dijk, Robertson, Wijnaldum, Milner (Fabinho 74), Oxlade-Chamberlain (Henderson 89), Mane, Salah (Origi 79), Firmino
Unused subs: Lonergan (GK), Gomez, Lallana, Shaqiri
Goals: Mane (45+1), Firmino (71)
Bookings: Alexander-Arnold (79)
Referee: Andre Marriner