CONCORD, N.C. — Martin Truex Jr. won the caution-filled Coca-Cola 600 at Charlotte Motor Speedway on Sunday night, beating Joey Logano and Kyle Busch in NASCAR’s longest race.

Truex went four-wide on a restart with four laps to go to take the lead and held on to win the race for the second time in four years.

“That was incredible, what a race,” said Truex, who overcame an early collision.

He won in 2016 in dominating fashion, leading 392 of 400 laps, but this was much more competitive. Truex led 116 laps in a race that included 30 lead changes and 16 caution flags.

Truex gave Joe Gibbs a big victory just four days after the car owner was elected to the NASCAR Hall of Fame. Truex has won three of the last five Cup Series points races, previously winning at Richmond and Dover.

Brad Keselowski won the first two stages but faded quickly in the second half of the race and finished 19th.

Truex hit the wall early in
the 400-lap race after his No. 19 Toyota got loose and sailed up the track while he was running up front. Truex said he didn’t know what happened at the time except to say his car “took off.”

But he stayed on the lead lap and steadily moved up to the front, eventually winning the third of four stages.

Kyle Larson, the winner of the All-Star race last weekend on the same track, crashed with 84 laps left, taking out Austin Dillon.

Larson was in the middle of the track when he clipped Clint Bowyer, sending his No. 42 Chevrolet back down to the lower side of the track, where he sandwiched Austin Dillon into the inside wall. After that, Larson sailed back up to the top of the track, forcing Ty Dillon into the outside wall.