It was his sixth victory of the season.
Moffitt’s first win of the season came at Atlanta in the season’s second race but even then he was unsure if the team would have the financing to go to every race and be eligible for the playoffs.
“It’s unreal,” Moffitt said on FoxSports 1 from victory lane. “I didn’t know if I was going to get the opportunity to compete for a championship even after I got my first win.
“Everyone pulled together hard here. Back at Chicago (in June) we didn’t know if we were going to make it to the racetrack.”
Chicago was another race won by Moffitt.
Friday night, Enfinger finished second to Moffitt.
Moffitt achieved the title in just 36 starts – the fewest since Mike Skinner won the inaugural championship in 1995 in 20 races.
Moffitt’s championship comes with an uncertain future. He announced Thursday that he does not have a contract for next year.
Playoff contender Justin Haley finished eighth.
“We just struggled.” he said. “I don’t know why.”
Former champion Johnny Sauter battled handling problems for most of the race and was not a factor.
“It was awful,” he said. “Just no grip. We laid an egg tonight. I don’t know why.
“When you suck that bad, it’s whatever, you just go home and go what the hell happened? I’ll ask myself that for three months.”
STAGE 1 WINNER: Grant Enfinger
STAGE 2 WINNER: Brett Moffitt
WHO HAD A BAD RACE: Robby Lyons slapped the wall on Lap 78; he finished 29th. … Chris Windom started 10th but hit the wall with a handful of laps remaining to finish 24th.
QUOTE OF THE RACE: “We were just too tight there (at the end). Needed to make better adjustments on pit road and that’s where it comes down to me,” Noah Gragson told FS1 after the race. “This one is going to hurt for a while.”
ROOKIE OF THE YEAR: Myatt Snider scored three top fives and eight top 10s on his way to rookie honors. Snider’s best finish this season was runner-up at Talladega. His best unrestricted finish was a third at Martinsville.
NOTABLE: This is the first time since 1999 that the champion won the season finale.
WHAT’S NEXT: Nextera Energy Resources 250 on Feb. 15, 2019 at Daytona International Speedway.