Dale Earnhardt Jr scored his second Daytona 500 win - 10 years on from his first - in a race that featured a record rain delay.
The 2014 NASCAR Sprint Cup opener was red-flagged for six hours and 22 minutes as a storm blew in after 38 laps.
NASCAR was determined to run the full distance on Sunday if at all possible, and the race eventually resumed under floodlights just after 8.30pm local time.
Earnhardt was the man to beat in the final stages, regularly able to pull a gap from his rivals on restarts.
That helped in the decisive shootout, where he held off a horde of rivals in a green-white-chequered finish following one of several late pile-ups.
Earnhardt's Hendrick team filled the top three places on occasion, but it was Joe Gibbs Racing's Denny Hamlin who surged through to challenge the winner on the run to the flag.
Hamlin came within 0.092 seconds of completing a clean sweep of Unlimited, Duel and 500 wins.
Jeff Gordon, Brad Keselowski and Jimmie Johnson filled the rest of the top five, having also been in the thick of the lead battle into the closing laps.
Roush Fenway's Ricky Stenhouse Jr jumped to sixth with a great final restart, ahead of Matt Kenseth.
Polesitter Austin Dillon made it home in eighth, despite being in the thick of three of the multi-car accidents in the second half of the race, and arguably triggering two of them in contact with rookie of the year rival Kyle Larson and then Childress team-mate Ryan Newman.
Long-time lead threat Greg Biffle took ninth, with Casey Mears completing the top 10.
Another big crash meant the caution flag flew just as Earnhardt came to the line. That incident brought promising nights for Kevin Harvick, Kyle Busch, Carl Edwards and Reed Sorenson to a messy end.
Kurt Busch was also a victory threat, though a late solo spin left him with only 21st place.
His Stewart-Haas team-mate and boss Tony Stewart was plagued by engine troubles on his comeback.
The unluckiest man of all was Martin Truex Jr. Forced to the back of the field due to Duel crash damage having qualified on the front row, his engine failed after just 28 laps as he charged through the field.
Results - 200 laps:
Pos Driver Team/Car Time/Gap
1. Dale Earnhardt Jr Hendrick Chevrolet 3h26m29.000s
2. Denny Hamlin Joe Gibbs Toyota +0.092s
3. Brad Keselowski Penske Ford +0.203s
4. Jeff Gordon Hendrick Chevrolet +0.235s
5. Jimmie Johnson Hendrick Chevrolet +0.280s
6. Matt Kenseth Joe Gibbs Toyota *0.378s
7. Ricky Stenhouse Jr Roush Fenway Ford +0.391s
8. Greg Biffle Roush Fenway Ford +0.508s
9. Austin Dillon Childress Chevrolet +0.478s
10. Casey Mears Germain Chevrolet +0.808s
11. Joey Logano Penske Ford +1.474s
12. Landon Cassill Hillman Chevrolet +2.939s
13. Kevin Harvick Stewart-Haas Chevrolet +4.175s
14. Jamie McMurray Ganassi Chevrolet +4.269s
15. Bobby Labonte Hscott Chevrolet +5.299s
16. Reed Sorenson Baldwin Chevrolet +5.737s
17. Carl Edwards Roush Fenway Ford +10.573s
18. Marcos Ambrose Petty Ford +12.845s
19. Kyle Busch Joe Gibbs Toyota +21.527s
20. Terry Labonte Go FAS Ford +1 lap
21. Kurt Busch Stewart-Haas Chevrolet +1 lap
22. Ryan Newman Childress Chevrolet +1 lap
23. Alex Bowman BK Toyota +3 laps
24. Josh Wise Parsons Ford +5 laps
25. Brian Scott Childress Chevrolet +5 laps
26. AJ Allmendinger JTG Daugherty Chevrolet +7 laps
Justin Allgaier Hscott Chevrolet 193 laps
Cole Whitt Swan Toyota 193 laps
Parker Kligerman Swan Toyota 193 laps
Brian Vickers Waltrip Toyota 192 laps
Kasey Kahne Hendrick Chevrolet 192 laps
Paul Menard Childress Chevrolet 184 laps
Trevor Bayne Wood Brother Ford 183 laps
David Ragan Front Row Ford 176 laps
Tony Stewart Stewart-Haas Chevrolet 174 laps
David Gilliland Front Row Ford 171 laps
Michael Annett Baldwin Chevrolet 161 laps
Kyle Larson Ganassi Chevrolet 160 laps
Aric Almirola Petty Ford 146 laps
Danica Patrick Stewart-Haas Chevrolet 145 laps
Michael Waltrip Waltrip Toyota 144 laps
Clint Bowyer Waltrip Toyota 127 laps
Martin Truex Jr Furniture Row Chevrolet 30 laps