Rovers went ahead in the 13th minute when Radhi Jaidi and keeper Kelvin Davis hesitated following a cross by Marlon Broomes and skipper John Welsh nipped in to net from close range.
The visitors could have been level three minutes later but keeper Tony Warner did well to block an angled shot by Rickie Lambert.
Lambert and Richard Chaplow shot wide for Saints before an excellent header by Guly de Prado brought a flying fingertip save from Warner approaching the break.
Southampton started the second half the better but there was a killer blow for them on the hour. Enoch Showunmi found Dale Jennings unmarked on the left and the teenager flighted his shot over Davis into the far corner to double the home advantage.
Warner denied substitute Lee Barnard with a one-handed save as Southampton searched in vain for a lifeline.