Keselowski took the checkered flag just after midnight on Memorial Day to end a 30-race winless streak.
Elliott’s finishing order was improved after the car of Jimmie Johnson, who originally finished second, failed post-race inspection and was disqualified. The car failed rear-end alignment in the OSS station.
Elliott, who took the lead from Keselowski with 38 laps to go, was leading with three laps to go in the scheduled 400-lap distance when the caution came out for a William Byron spin, a result of a cut left-rear tire.
Elliott was then among a group of drivers, including Martin Truex Jr., who pitted under the caution. That gave Keselowski the lead on the restart with Johnson second. Elliott restarted 11th.
“I feel like I’ve thrown this race away a handful of times,” Keselowski told Fox. “I thought we were going to lose it today. 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. I wish my wife was here, I wish my daughters were here. It’s a major! It’s the Coke 600. That leaves one major for me, the Daytona 500. We’re checking them off.”
Keselowski’s win is the first by a Ford in the Coke 600 since 2002. It also comes after Keselowski started the race from the rear due to an unapproved adjustment to his car after qualifying.
For Elliott, it’s the second disappointing finish in four days after he wrecked from contact with Kyle Busch late in Wednesday’s race at Darlington while running second.
Of the fallout on the decision to pit under the final caution, Elliott told Fox “those guys are going to do the opposite of whatever we do. That’s just part of it. You make decisions and live with them. It wasn’t the pit call. I think being on offense is fine.”
The race was stopped for rain in the middle of Stage 1. The delay lasted 1 hour and 9 minutes.
STAGE 1 WINNER: Alex Bowman
STAGE 2 WINNER: Alex Bowman
STAGE 3 WINNER: Joey Logano won it after he and two other drivers stayed out of the pits during a late caution.
WHO HAD A GOOD RACE: Ryan Blaney’s third-place finish is his first finish better than 13th in six Coke 600 starts … Martin Truex Jr. finished sixth after leading 87 laps. It’s his third straight top 10 after not having any in the first four races of the season … Kevin Harvick has placed in the top 10 in all seven races this year … Rookies Tyler Reddick and Christopher Bell finished eighth and ninth respectively in their first starts in the Coke 600.
WHO HAD A BAD RACE: Denny Hamlin‘s chances to win were dashed before the green flag. A piece of ballast fell off his car during the pace laps and he was forced to have it repaired on pit road before he could start the race. He joined the race eight laps down and finished 29th … Clint Bowyer finished 39th after a lower control arm on his car broke, causing him to hit the Turn 2 wall with four laps left in the first stage. He was the first car out of the race. … Bubba Wallace placed 38th after he fell out due to mechanical problems … Ryan Newman finished 27th after suffering battery issues .. Matt Kenseth finished 26th after he had an early speeding penalty and then got into the wall on Lap 276.
NOTABLE: With its overtime finish, the race was 607.6 miles, the longest Cup race ever in mileage … With the top-20 finishers from the Coke 600 being inverted to determine the starting lineup for Wednesday’s Cup race at Charlotte, William Byron will start first and Alex Bowman will start second.
WHAT’S NEXT: The Cup Series returns to Charlotte Wednesday night for a 500-kilometer race (8 p.m. ET on FS1).