James Buescher took control during a second green-white-checkered finish and held on to win the NASCAR Truck Series race at Iowa Speedway on Sunday.

It was the second win in four races for Buescher, the defending series champion.

Buescher grabbed the lead from the outside position and edged out polesitter Ross Chastain for his sixth career victory.

Chastain, denied his first career win, was followed by Ty Dillon, Johnny Sauter and Darrell Wallace Jr.

Buescher's final run capped a wild finish to the second Iowa race of the season.

There were 12 lead changes on Sunday, smashing the track record of seven.

Ryan Blaney grabbed the lead from Chastain, his Brad Keselowski Racing teammate, on a restart with five laps left.

But contact between Buescher and Timothy Peters -- who wasn't too pleased after being spun out -- brought out yet another caution flag that set up the first green-white-checkered finish.

That one didn't last long, as Brendan Gaughan got into the back of Joey Coulter. Gaughan apologized for the mishap, blaming faulty brakes.

Buescher took advantage of his second chance, winning despite leading just nine laps.

All the drama ahead of this week's race was focused on Dillon and Chase Elliott.

Dillon warned that Elliott wouldn't finish the race in Iowa after he wrecked Dillon on the last lap to win last week's event at Canadian Tire Motorsport Park.

Though Dillon backed off those comments somewhat just before Sunday's race, he turned out to be right.

But it certainly wasn't Dillon's doing.

Elliott had issues with his truck from the drop of the green flag. He fell from seventh to 11th after just eight laps, and he was down to 24th before spinning out for good after just 35 laps.

Chastain seized upon just his fifth top-10 start by leading for the first 41 laps. Chastain then ceded the edge to Dillon, and the pair swapped first again ahead of a caution for debris two-thirds of the way into the race.

Dillon led by more than 8 seconds when that yellow flag came out. Chastain retook the lead on the restart, but he quickly lost it to Peters.

Dillon led 46 laps.