Kyle Larson sealed his second consecutive victory at the Michigan International speedway after surviving a late restart to go top of the NASCAR Cup standings.
The first of three restarts in the final 21 of 200 laps allowed Larson to overtake Kyle Busch after running in the top three at the end of the first two stages.
Larson, who has admitted to struggling with late race restarts, impressively held his advantage through two late yellows after a series of incidents.
The crucial final restart of the race involved a chain reaction of incidents as Ryan Blaney slowed and Daniel Suarez then clipped the right front of Darrell Wallace Jr, swerving his car left and into the path of Danica Patrick who hit the left-side wall.
The race went green for the final five laps and an excellent restart from Larson allowed him to pull well clear of Denny Hamlin for victory in a race which featured 10 lead changes from four drivers.
Chase Elliott then deposed Hamilin further on the same restart, following Larson through to take second.
Elliott finished just 0.993 seconds ahead of Logano, who rubbed tyres with Denny Hamlin before holding him off for his third top three finish of 2017 and first in six races.
McMurray completed the race adrift of Hamlin for his second top five finish of the year, ahead of Martin Truex Jr, who once again starred in the hunt for stage wins.
Truex Jr swept the first two stages for his tenth of the season, comfortably ahead of his nearest rival Busch and his total of six.
But any hopes of an overall win faded in a poor final 50 laps in which he was lucky to avoid crashing when his car slid left and almost off track when trying to avoid a spinning Ryan Sieg, before eventually finishing fifth.
Former race leader Busch fell down to seventh at the end, with Ricky Stenhouse Jr, Dale Earnhardt Jr and Jimmie Johnson completing the top 10.
Earnhardt’s result is his best at the Michigan track since August 2015 and just his third top-10 in his difficult final campaign.
Despite the late drama, Wallace was able to end the race in 19th in his second event as stand-in for the injured Aric Almirola.