Roberto Firmino made things emotional for Liverpool fans as he scored in his farewell game.
The Brazilian was handed a start by Jurgen Klopp in what was his last ever appearance for the club.
Diogo Jota opened the scoring against Southampton before the Brazilian netted a second.
He nutmegged Saints goalkeeper Alex McCarthy at the St Mary’s in the 14th minute.
The goals came thick and fast, however, as James Ward-Prowse got one back just five minutes later.
And then Saints completed the comeback with Kamaldeen Sulemana making it 2-2, firing home low with the departing Theo Walcott grabbing the assist.
The madness kept coming on the south coast with Southampton going 4-2 up with second half goals from Sulemana and Adam Armstrong.
Liverpool managed to pull it back to 4-4 with Jota getting a second and Gakpo also scoring.
Firmino’s next club has not yet been confirmed, but both Real Madrid and Barcelona have been linked.
The Brazilian is not the only player making his last appearance for Liverpool on Sunday.
James Milner was also named in the starting line-up by Klopp, with the veteran midfielder likely to sign for Brighton.
Goalkeeper Caoimhin Kelleher, who has also been linked with a move away this summer, was also named in the starting XI in place of Alisson Becker.