Caretaker boss Chris Ramsey looked set for a point in his first game in charge since Harry Redknapp’s departure until Saido Mane’s injury-time strike.
Ramsey’s men then had a goal disallowed with the very last kick of the game but while QPR remain in the relegation zone, Southampton maintain their Champions League push by climbing back into third spot.
The visitors – who surprisingly lost at home to Swansea City last Sunday – dominated the opening 45 minutes, with midfielder Mane proving a constant thorn in QPR’s side.
The lively Senegal international had several opportunites to break the deadlock, however, on more than one occasion he was unable to generate enough power to trouble Robert Green in the QPR goal.
When Southampton did manage to beat Green, the woodwork denied them, Jose Fonte’s close-range volley from James Ward-Prowse’s left-wing corner smacking the QPR crossbar 10 minutes before the break.
There were other openings for the Saints – none better than after just five minutes when new winger Eljero Elia found himself one-on-one, only to fire horribly wide of the gaping goal – but they failed to take any in an extended first half.
Seven minutes of injury-time were added after Southampton left-back Matt Targett suffered a nasty-looking head injury, clashing heads with QPR’s Matt Phillips, before being stretchered off in a neck brace and taken to hospital.
Ward-Prowse had Southampton’s final effort before the whistle finally blew, only for the England U21 international’s curling free kick from the edge of the area to narrowly miss the target.
But after the break the contest turned into a war of attrition, Ramsey attempting to alter the flow of the contest by introducing recent loan signing from West Ham United, Mauro Zarate, midway through the second period.
That switch appeared to breathe new life into the hosts, with top-scorer Charlie Austin – in front of watching England manager Roy Hodgson – coming desperately close to finally breaking the deadlock 17 minutes from time, only for Fraser Forster to pull off a stunning reflex save to deny the striker.
But then in injury time man-of-the-match Mane got wrong side of the backtracking Nedum Onuoha following a neat flick-on by Graziano Pelle, and, after turning his marker, the midfielder made no mistake with a close-range finish high into the roof of Green’s net.
There was still time for more late drama, referee Roger East correctly ruling out Onuoha’s last-gasp equaliser for a clear foul by the midfielder on Forster.
QPR: Green (7), Onuoha (6), Dunne (6), Caulker (6), Hill (6), Barton (6), Fer (6), Phillips (5), Taarabt (7), Traore (7), Austin (7)
Subs: Isla (6), Vargas (6), Zarate (7)
Southampton: Forster (7), Clyne (6), Fonte (8), Yoshida (6), Targett (6), Davis (6), Wanyama (8), Mane (9), Ward-Prowse (8), Elia (7), Pelle (7)
Subs: Schneiderlin (6), Gardos (6), Tadic (6)
Man of the match: Saido Mane