Aleksandar Mitrovic scored twice as Claudio Ranieri won his first match as Fulham boss to pile pressure on Southampton manager Mark Hughes.
Stuart Armstrong netted a brace – his first Saints goals – either side of strikes from Mitrovic and Andre Schurrle for Fulham.
Mitrovic, who rivalled Armstrong as the game’s star performer, restored the hosts’ lead with a crisp volley after 63 minutes and Fulham held on to win 3-2 on Ranieri’s Premier League return.
The Cottagers were facing the prospect of a seven-match losing streak in the league for the first time in 56 years, but instead they won for a second time this season, following the August 26 defeat of Burnley, to move off the foot of the table.
Southampton have not won since September 1 against Crystal Palace and Hughes, who had an 11-month stint at Craven Cottage in 2010-11, has just three wins in 21 league games since his appointment in March.
Ranieri won the 2015-16 Premier League title with 5,000-1 outsiders Leicester, but played down the prospect of a miracle at Fulham.
The 67-year-old Italian used pizza as a cleansheet incentive while at Leicester, but insisted he needed to up the ante.
Fulham shared the distinction with League Two Macclesfield of being the only sides in English league football not to have kept a cleansheet this season.
Burgers would be the reward here – but not yet – and the Silkmen’s shutout against Yeovil on Saturday means Fulham are now the only exception of the 92 clubs.
Southampton started well, with Sergio Rico forced into a double save, first from Armstrong’s half-volley and then Manolo Gabbiadini. The Italian should have given Saints a fifth-minute lead but shot too casually.
The visitors took the lead after Nathan Redmond sent a hopeful ball into the area which was cleared only as far as Armstrong, who signed from Celtic last summer.
Charlie Austin’s screen on Jean Michael Seri helped create space for the Scot, who chested the ball down before sending a low shot past Rico.
Ranieri’s first league games as boss of Chelsea, in 2000, and Leicester, in 2015, each saw six goals. The standard of defending suggested there would be more here, too.
Fulham equalised when Maxime Le Marchand burst to the left byline and his cross was met by Mitrovic with a downward header.
Fulham led for the first time when Ryan Sessegnon surged by Cedric Soares down the left and crossed brilliantly to the back post for Schurrle to tap in.
Schurrle tried to set up Mitrovic early in the second half, but Alex McCarthy saved well and it was Saints who scored next.
The ball broke for Soares to back-heel the ball back to Armstrong at the edge of the area and the midfielder curled it into the top corner.
Parity lasted 10 minutes as Cyrus Christie, in the right channel, checked back on to his left and his cross was flicked on by Sessegnon for Mitrovic to volley in for his seventh of the season.
Rico denied Pierre-Emile Hojbjerg and cramp led to Armstrong being replaced with 10 minutes to go.
His replacement Michael Obafemi blasted over three minutes from time and was denied by Rico in stoppage time as Fulham celebrated.