Brad Keselowski is a Coca-Cola 600 champion.
Keselowski and crew chief Jeremy Bullins decided to stay out during the final caution of the race when it happened because of William Byron’s spin. Race leader — and Byron teammate — Chase Elliott and his crew chief Alan Gustafson decided to pit and gave up the lead to second-place Keselowski, assuming that fresher tires would help solidify the win over the race’s final two laps.
They did not. Keselowski held off Jimmie Johnson for the win as Elliott restarted 11th with two laps to go.
“I feel like I’ve thrown this race away a handful of times and I felt we were gonna lose it today,” he said after the race. “I know we’ve lost it the way Chase lost it and that really stinks, and today we finally won it that way and I’m so happy for my team.”
The victory is Keselowski’s 31st in his Cup Series career and his first Coke 600 win.
“It’s been a great 10-year career I’ve had so far and I hate it took me 10 years to get this one,” Keselowski said. “I feel like I’ve had cars and a team good enough to do it many times over and it just slipped through our hands and today it didn’t. I’m just really proud of everyone and persistence pays off.”
Byron spun with less than 3 laps to go
Elliott looked like he was cruising to a win with less than three laps to go in the longest race of the NASCAR season. But Byron spun as Elliott was just more than two laps from the win because of a flat left-rear tire. At the time of Byron’s spin, Elliott was leading Keselowski by two seconds.
Johnson was third at the time. As both he and Keselowski stayed out, Elliott pitted with the hope that most everyone else would join him and that fresh tires would matter over the final two laps.
That didn’t work out either way. While Elliott made up eight spots over the course of the last two laps with his four fresh tires, he didn’t challenge for the lead as eight drivers decided to stay out on track ahead of those that pitted.
Johnson’s great night turned sour during postrace inspection. His car failed the check after the race and, as a result, Johnson has been disqualified. He won’t earn any points for his race result and he finishes last.
Johnson’s crew chief Cliff Daniels said he thought something broke in the car that led to the failed inspection.
Disappointed about our post-race OSS. We think something must've broken but won't know until we get it back to the shop tomorrow and can diagnose. Tough news after a strong night. This team is getting stronger We are focused forward. We’ll be back Wednesday with another great car
— Cliff Daniels (@DanielsCliff) May 25, 2020
Alex Bowman leads 164 laps
Elliott passed Keselowski for what looked like it would be the win in the final stage. Elliott’s teammate Alex Bowman led a race-high 164 laps but finished 20th as he was one of the drivers in that final stage who decided to stay out on track during the final caution.
Unllike for Keselowski and Johnson, that decision didn’t work out too well for Bowman, who won the race’s first two stages. Bowman ended up finishing 20th.
Race delayed by over an hour
The annual NASCAR marathon was delayed over 68 minutes for rain midway through the first stage. Bowman got the lead after that resumption thanks to a two-tire pit stop and held it for nearly the entirety of the second stage.
The 600 was the only race of the day run like it was scheduled. The Monaco Grand Prix was canceled and the Indianapolis 500 was pushed to August, leaving NASCAR and the 600 as the only major Memorial Day weekend race.
Denny Hamlin starts race 7 laps down
Denny Hamlin was on pit road when the race began. Tungsten weight came off his car on the pace laps before the race and he was forced to pit to get more weight secured in his car before he could resume.
The tungsten is added to cars to help them make the minimum weight before a race and unsecured ballast comes with a four-race suspension for a team’s crew chief, car chief and race engineer. That means that Hamlin will likely be without crew chief Chris Gabehart and two other crew members for the next four races.
1. Brad Keselowski
2. Jimmie Johnson
3. Chase Elliott
4. Ryan Blaney
5. Kyle Busch
6. Kevin Harvick
7. Martin Truex Jr.
8. Kurt Busch
9. Tyler Reddick
10. Christopher Bell
11. Chris Buescher
12. Erik Jones
13. Cole Custer
14. Joey Logano
15. Austin Dillon
16. Aric Almirola
17. John Hunter Nemechek
18. Matt DiBenedetto
19. Michael McDowell
20. Alex Bowman
21. William Byron
22. Ross Chastain
23. Ryan Preece
24. Corey LaJoie
25. Ricky Stenhouse Jr.
26. Ty Dillon
27. Matt Kenseth
28. Ryan Newman
29. Daniel Suarez
30. Denny Hamlin
31. Brennan Poole
32. Gray Gaulding
33. BJ McLeod
34. Garrett Smithley
35. Timmy Hill
36. Quin Houff
37. Joey Gase
38. JJ Yeley
39. Bubba Wallace
40. Clint Bowyer
– – – – – – –
Nick Bromberg is a writer for Yahoo Sports.
More from Yahoo Sports: