Forest climbed out of the bottom three thanks to Taiwo Awoniyi’s brace, Morgan Gibbs-White’s penalty and Danilo’s brilliant team goal to give realistic hope that they can avoid the drop on their first season back in the top tier for 23 years.
They took full advantage of defeats for Leeds and Leicester to move up to 16th, three points above the drop zone with three games to play.
Southampton’s situation is far bleaker and, despite goals from Carlos Alcaraz, Lyanco and James Ward-Prowse to keep them in the game, their 10-year stay in the top flight will end if they fail to beat Fulham on Saturday, while results elsewhere could also send them down even if they do win.
It was a thrilling end-to-end encounter at the City Ground that completed a bumper Bank Holiday goals bonanza as the 21 goals scored on Monday are a Premier League record for a three-game matchday.
This clash was always going to have a massive say on who goes down and the Forest fans received the memo, delivering a spine-tingling atmosphere before kick-off.
And after an edgy start in the driving rain, where Southampton were the better team, two goals in three minutes from Awoniyi lifted the roof off the City Ground.
The first came in the 18th minute after a devastating attack at speed, where after a quick free-kick, Danilo’s long ball set Brennan Johnson free on the right and his first-time cross was perfect for Awoniyi to fire home from 10 yards out.
The Nigeria international soon doubled his tally, and in some style too, as he hit an instinctive volley on the turn after Danilo’s improvised pass in the area.
Southampton had folded and were in danger of being blown away but gave themselves a lifeline in the 25th minute as Gibbs-White’s loose ball allowed a quick break that saw Stuart Armstrong play in Alcaraz and the Argentinian converted from close range.
There were a few dicey moments as Saints pushed for a leveller, but Forest crucially restored their two-goal lead just before the break.
Johnson nipped in to take the ball away from Ainsley Maitland-Niles and was on the end of a kick, with referee Michael Oliver taking his time to deliberate before pointing to the spot.
Gibbs-White made no mistake from the penalty, sending his effort down the middle to give Forest a big half-time advantage.
Southampton knew they were in the last-chance saloon and came out firing, reducing the arrears in the 51st minute.
Lyanco climbed highest from Ward-Prowse’s corner to power a header that was too hot for Keylor Navas to handle.
That totally changed the complexion of the game and Forest were suddenly hanging on as Saints chased an unlikely equaliser.
Another Lyanco header from a corner caused chaos in the Forest six-yard box as Navas came under a barrage of dangerous set-pieces.
But the hosts eased their nerves in the 73rd minute with a brilliant team goal converted by Danilo.
Johnson surged down the right, centred for Gibbs-White, whose delightful deft flick teed the Brazilian up and he made no mistake for his third goal in three games.
Felipe had another goal chalked off in stoppage time and then Saints were given a lifeline as Sam Surridge fouled Romeo Lavia, with Ward-Prowse sending the late penalty straight down the middle.
But Forest held on to leave Southampton staring into the abyss of the second tier.