Entering the final of the 100 laps, A.J. Allmendinger held a tenuous lead but as the field rolled into Turn 3, Haley dove to the bottom lane and Jeb Burton went to the top with Allmendinger in the middle.
As the Kaulig trio approached the checkered flag, Haley’s No. 11 Chevrolet edged ahead to hold off Allmendinger and claim his first win of the season.
“It’s been a tough year – we’ve had a lot of bad luck,” Haley said. “I was trying to formulate the plan. Hats off to Kaulig Racing, I think we got the teammate thing down. It’s just so special to win here at Daytona.
“I’ve won twice at Daytona and neither time did I get to see anyone on the frontstretch, so thank you guys for being here. I love you.
“This was absolutely incredible. It was a close one to just beat out A.J., who always leads a lot of laps here.”
The win is Haley’s fourth career win in the series and second at Daytona. It’s also the fifth win by a Kaulig driver in the 2021 season.
Allmendinger also took over the series points lead and holds a 17-point advantage over Austin Cindric.
Justin Allgaier grabbed third at the line and Jeb Burton ended up fourth, preventing a Kaulig 1-2-3 finish. Daniel Hemric rounded out the top-five.
Completing the top-10 were Christopher Bell, Noah Gragson, Myatt Snider, Harrison Burton and Riley Herbst.
Following the break between Stages 2 and 3, most lead-lap cars pit with Allmendinger the first off pit road.
When the race resumed on Lap 65, Bell had stayed out and inherited the lead. He was followed by Gragson, Allgaier and Harrison Burton.
Gragson got a shove from Allgaier to the lead exiting Turn 4 on Lap 66 as Bell dropped to second.
On Lap 72, a caution was displayed for a multi-car incident that erupted off Turn 4 including Colin Garrett, Joe Graf Jr. and Colby Howard.
The race returned to green on Lap 78 with Gragson still out front followed by Bell, Harrison Burton and Jeb Burton.
Bell powered back to the lead off Turn 2 on the restart.
With 20 laps remaining, Bell maintained a small lead over Jeb Burton followed by Gragson, Allgaier and Herbst.
A four-car wreck erupted on the backstretch on Lap 83 collecting Jade Buford, Caesar Barcarella, Jordan Anderson and Matt Mills to bring out a caution.
The race returned to green on Lap 87 with Bell out front followed by Jeb Burton, Gragson and Allgaier.
With 10 laps to go, Bell continued to lead the way followed by Allgaier, Allmendinger and Harrison Burton.
With three to go, Allmendinger moved back into the lead with help from his Kaulig teammates.
Jeb Burton held off his Kaulig teammates to take the Stage 2 win, his first of the 2021 season.
Allmendinger was second, Haley third, Herbst fourth and Bell rounded out the top-five.
Following the break between Stages 1 and 2, most lead-lap cars elected to pit with Allgaier the first off pit road.
Brown stayed out and inherited the lead and when the race resumed on Lap 34, he was followed by Herbst, Chase Briscoe and Ryan Sieg.
Herbst quickly jumped to the lead as the field went through Turns 1 and 2 on the restart.
NASCAR displayed a caution on Lap 36 for debris in Turn 2 that appeared to come off the No. 1 Chevrolet of Michael Annett.
The race returned to green on Lap 40 with Herbst out front followed by Briscoe, Brandon Brown and Sieg.
Brown got a big push from Allmendinger to grab the lead on Lap 44.
Entering Turn 3 on Lap 46, Allmendinger got around Brown to reclaim the top spot.
NASCAR displayed a caution on Lap 50 for several pieces of debris coming down the frontstretch off Turn 4. The debris appeared to come of the car of Barcarella.
Several lead-lap cars elected to pit during the caution with Allgaier again the first off pit road. On the restart on Lap 53, Brown led the way followed by Herbst, Briscoe and Moffitt.
The JR Motorsports drivers got together after the restart and helped push Sam Mayer to the lead on Lap 53. Kaulig Racing drivers responded by getting Jeb Burton to the lead on Lap 54.
With five laps remaining in the stage, Jeb Burton held a small lead over Allmendinger with Haley in third.
Brown was forced to pit on Lap 57 when his No. 68 Chevrolet ran out of fuel.
Haley took the Stage 1 win under caution as a multi-car wreck erupted behind him that took out championship leader Cindric.
Allmendinger was second, Jeb Burton third, Bell fourth and Allgaier rounded out the top-five.
Allmendinger started on the pole on Friday night and led the first three laps until Gragson got around him in Turns 1 and 2 to lead Lap 4.
Allmendinger passed Gragson to reclaim the lead on Lap 5.
Brandon Jones was forced to pit on Lap 9 when the water pressure pegged on his No. 19 Toyota.
Gragson got back around Allmendinger to retake the lead on Lap 14.
On Lap 16, NASCAR displayed a competition caution to allow teams to check tire wear. Several of the lead-lap cars hit pit road but Allmendinger stayed on the track.
Just as the field was about to return to green, rain enveloped the speedway and brought out a red flag on Lap 19. The remainder of the race was eventually postponed until Saturday afternoon.
The race returned to green on Lap 22 on Saturday with Allmendinger out front followed by Bell and Snider.
With five laps remaining in the first stage, Allmendinger continued to lead the way followed by Haley and Cindric.
On Lap 27, as the field entered Turn 1 Snider turned Cindric into the outside wall in an incident that collected several other cars including Annett, Mayer and Hemric.
“Pretty upset for our team,” Cindric said. “That’s two weekends in a row we’ve had race winning capable cars and I’ve done a total of maybe 40 laps. So frustrating to have that play out so early. It only takes one.”
Haley had grabbed the lead from Allmendinger just as the wreck began and the caution was displayed.