Brown was leading the race when a multi-car wreck erupted on Lap 102 of the scheduled 113 to bring out the fifth caution.
With sunset and rain approaching quickly, NASCAR checked with drivers, spotters and its officials in the starter’s stand and determined it was too dark to continue the race.
Brown was declared the winner, his first win in 113 career series starts. It also completed a doubleheader of first-time winners, with Tate Fogleman earning his first career Trucks win earlier in the day.
“Oh my God, this is a dream come true,” Brown said. “Winning at Talladega. Oh my God, dad, we did it – let’s go!
“This is just everything we’ve hoped and dreamed for. Everything I’ve ever wanted to do is take the trophy home to mom and dad. Thank you to all of our partners. Oh my God, this is just so unbelievable.
“Everything shifted top to bottom so much and we just kind of hoped for the best. We saw our moment and we seized it. I’m so proud of everyone at Brandonbilt Motorsports and everyone who’s worked on our team.
“We did it. We did it. We did it.”
This is the third consecutive full-time season Brown, 28, has competed in the Xfinity Series with his family-owned team, which is based in Virginia.
Brandon Jones was credited with the runner-up finish, although his team argued they were leading when the caution was displayed for the last accident.
Justin Allagier was third, Daniel Hemric fourth and Jordan Anderson rounded out the top-five.
Heading to the final race of the first round of the plays at the Charlotte Roval next weekend, Austin Cindric leads the playoff standings by 33 over Allgaier. Allmendinger, who wrecked out of Saturday’s race earlier, is now fourth, 55 behind Cindric.
Following the break between Stages 2 and 3, the lead-lap cars all pit with Riley Herbst the first off pit road. Jones had to restart the race from the rear after running over equipment during his pit stop.
The race resumed on Lap 55 with Herbst out front followed by Justin Haley, Allgaier, John Hunter Nemechek and Cindric.
Allgaier got a shove to the lead shortly after the restart. Cindric powered back to the front on Lap 56.
Allgaier returned to the lead on Lap 58 as his teammate, Noah Gragson, moved into second.
Jeb Burton grabbed the lead for the first time in the race on Lap 65 as Moffitt ran second. Cindric returned to the front on Lap 66.
On Lap 69, the first group of drivers hit pit road to make a green-flag stop to take on fuel to make it to the end of the race.
Bayley Currey stalled on pit road on Lap 75 to bring out a caution. Four cars had not yet completed their green-flag stops while Herbst was fifth, the first car among those who pit.
On the restart on Lap 80, Herbst returned to the lead followed by Cindric, Gragson, Allgaier and Josh Berry.
Berry gave Gragson a big push on the restart to moved him into the lead for the first time in the race.
On Lap 89, Brett Moffitt got loose and spun down the track and into the oncoming path of Gragson, which triggered a 13-car accident that also collected playoff driver Myatt Snider.
NASCAR red-flagged the race for nearly 16 minutes to clean the track of debris. Jeb Burton inherited the lead once Moffitt pit to repair damage.
On the restart on Lap 94, Jeb Burton was followed by Jones, Allgaier and Haley. Jones got shoved to the lead after the restart.
With 15 laps to go, rain was reported near the speedway adding another element to the impending darkness.
On Lap 100, Brown powered to the lead and on Lap 102 contact between Harrison Burton and Moffitt ignited another multi-car accident that also collected Nemechek and Herbst.
NASCAR decided it was too dark to continue the race and it was called after 107 laps.
Blaine Perkins got a shove to the lead and edged teammate Moffitt for the Stage 2 win.
Nemechek was third, Herbst was fourth and Allgaier rounded out the top-five.
Following the break between Stages 1 and 2, all the lead-lap cars pit with Herbst the first off pit road. The race was halted for about six minutes as track crews had to repair a portion of the Turn 3 wall.
On the restart on Lap 31, Herbst was followed by Nemechek, Snider and Cindric.
With 10 laps remaining in the stage, Herbst maintained a small lead over Cindric while Hemric ran third and Perkins fourth.
With five laps to go, Herbst remained in control of the pack with Cindric in second and Perkins having moved up to third.
Sam Mayer and Allmendinger wrecked on the final lap which allowed Nemechek to take the Stage 1 win under caution.
Brown and Moffitt went four-wide with Mayer and Allmendinger with contact from Moffitt sending Allmendinger up into Moffitt.
Jeb Burton finished second, Herbst was third, Cindric fourth and Snider rounded out the top-five.
Allgaier started on the pole but Cindric went high and grabbed the lead on Lap 1.
Berry powered out to the front on Lap 3 only to see Cindric reclaim the top spot on Lap 4.
A push from Allmendinger sent Berry back into the lead on Lap 7.
Allmendinger powered to the lead off Turn 2 on Lap 10 as Berry ran second and Jones third.
Jones got to the lead on Lap 13 with a push from teammate Harrison Burton as Nemechek ran third.
Harrison Burton grabbed the lead on Lap 17 as Haley went a lap down to the field.
With five laps remaining in the stage, Nemechek got a shove to the lead as Joe Gibbs Racing teammates ran first through fourth.
Haley had to start the race from the rear of the field because of improperly applied decals to his No. 11 Chevrolet. He also had to serve a pass-through penalty on pit road once the race went green.