Nottingham Forest moved level on points with second-placed Arsenal after withstanding an unlikely comeback by bottom club Southampton at the City Ground.
The hosts looked in total control with a 3-0 lead inside 41 minutes, only for a fortuitous Jan Bednarek goal and Paul Onuachu's thumping header - in the first of 12 added minutes - setting up a tense and thrilling finale.
Saints, who had battled back brilliantly in the second half, then almost snatched an equaliser but Ola Aina spectacularly cleared Bednarek's header off the line.
Such drama looked unlikely for much of the match after Forest took 11th-minute lead when Elliot Anderson drove from midfield and shot low into the bottom left corner for his first goal for the club.
Callum Hudson-Odoi buried the second from the edge of the box in the 28th minute after another defensive mistake by Southampton and Chris Wood headed in his 14th goal of the season to add a third before half-time.
Unbeaten now in eight league games with seven wins and a draw, Forest remain third on goal difference, but are seven points clear of sixth-placed Bournemouth in a further boost to their hopes of qualifying for Europe next season.
Both they and Arsenal are six points behind leaders Liverpool, who have a game in hand.
Southampton have lost 18 games this season, including all five league matches since Ivan Juric was appointed in December, and stay bottom of the table with six points.
Strong Forest start proves crucial again
So much of this game looked like another typical Forest performance - one that has got used to taking an early lead and controlling the game.
They were happy to cede possession in the early stages and Anderson pounced when given freedom to drive towards the box and shoot from 22 yards.
It was the 18th time they have scored first in their 22 league games this season.
After being gifted the second when Bednarek was caught in possession on the edge of his box, Wood calmly glanced in Aina's cross and Forest had their 3-0 lead from three shots on target.
But there was jeopardy as strugglers Southampton pushed late on.
Their first goal was fortunate. Lesley Ugochukwu's strike in the 60th minute was travelling well wide until striking Bednarek, but a rare defensive lapse by Forest allowed the towering Onuachu to head in a Mateus Fernandes cross unchallenged during stoppage time for his first goal for the club.
Had they conceded again, Forest would have had fair complaints about a header by Nikola Milenkovic which was ruled out by the video assistant referee (VAR) - Wood deemed to have interfered with play from an offside position.
With that disallowed fourth goal coming moments after Bednarek's deflected strike, it prevented Forest a more comfortable ending.
Instead they had to defend their box late on, just as they did in Tuesday's 1-1 draw with Liverpool, but did so.
The victory keeps momentum built in December rolling on into the new year.
Early errors cost struggling Saints
Southampton's fighting finish was admirable.
It followed a promising performance in defeat by Manchester United on Thursday, meaning those looking for positives will see a side still battling despite a bleak situation.
But the Saints continue to hurt their own quest for an unlikely escape.
Boss Juric was furious on the sidelines when Anderson was able to freely carry the ball to the edge of the box following a throw-in for Forest's opener in a meek first-half performance by his side.
Bednarek's bad touch, which resulted in Hudson-Odoi's first strike since November, was the 17th defensive error that has led to a goal this season – a tally that could easily have been 18 when Aaron Ramsdale inexplicably spilled Milenkovic's headed effort that was disallowed.
Aston Villa are the next most generous team with 10 errors leading to goals.
If Southampton are to have any chance of closing the 10-point gap to safety, they must cut out those mistakes and find a way to perform for the full 90 minutes.
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.