Manchester United were presented with the perfect opportunity to move into the Champions League places, but went behind early on when Stuart Armstrong rifled home (12).
Nevertheless, Marcus Rashford (20) levelled things up eight minutes later before a superb Anthony Martial (23) netted his 50th Premier League goal – put the Reds ahead until deep into second-half injury time when Michael Obafemi (90+6) bundled the ball home.
Victory would have lifted the Reds to third, but the draw keeps them in fifth spot on goal difference. They have gone level on 59 points with Leicester in fourth, who they play on the final day of the season.
The reds are now unbeaten in 18 matches in all competitions – matching the same unbeaten run from 2013 under Sir Alex Ferguson – and have not lost in 11 Premier League games.
For Southampton, they are now four matches unbeaten in the top flight and they remain in 12th place, level on 45 points with Everton.