CHARLOTTE, N.C. — Martin Truex Jr. won the caution-filled Coca-Cola 600 at Charlotte Motor Speedway on Sunday, 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 Coca-Cola 600 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 past five Cup Series points races, previously winning at Richmond and Dover.

Truex Jr in Victory lane at NASCAR Charlotte Auto Racing
Martin Truex Jr. celebrates in Victory Lane after winning the NASCAR Cup Series auto race at Charlotte Motor Speedway in Concord, N.C., Sunday, May 26, 2019. (AP Photo/Chuck Burton)
AP

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

Earlier Sunday, Lewis Hamilton won the Monaco Grand Prix while Simon Pagenaud won the Indianapolis 500. Both started from the pole.

Truex Jr crosses finish line at NASCAR Charlotte
Martin Truex Jr. (19) crosses the finish line to win the NASCAR Cup Series auto race at Charlotte Motor Speedway in Concord, N.C., Sunday, May 26, 2019. (AP Photo/Chuck Burton)
AP