Brad Keselowski took control with 35 laps left to win the NASCAR Nationwide race at Iowa Speedway on Saturday night.
The Sprint Cup driver has won in his last three Nationwide starts, also topping the field at Richmond in April and Kentucky in June.
Points leader Austin Dillon led a race-high 116 laps, but gave up a huge lead following a late caution. Keselowski, the only Sprint Cup driver in the field, took control a few laps later for his second Nationwide win at Iowa.
Sam Hornish Jr. was second, followed by Brian Vickers, Dillon and Kyle Larson.
Keselowski, like every other driver in the field, spent much of the race looking at the back of Dillon's No. 3 car.
Dillon led all but 43 laps in the first Iowa race back in June, but he finished second to Trevor Bayne.
Dillon again had a dominant car Saturday, taking control a third of the way through the race. This time, a late caution flag changed everything.
Dillon led by as many as 7 seconds — or over a quarter of the 0.875-mile track — before a blown tire by Travis Pastrana drew out the flag and allowed the field to pit with 50 laps left.
Dillon took four tires and fell back to fifth as Bayne took the lead on the restart. But Keselowski, who won the inaugural Nationwide race on Iowa's oval in 2009, surged to the front and held off a charging Hornish for his third win of the season.
Drew Herring, in the No. 54 car for Joe Gibbs Racing normally driven by Kyle Busch, was the surprise winner of his first career pole.
Busch has won eight Nationwide races in 15 starts in 2013. But like every Sprint Cup regular except for Keselowski, he stayed in Pocono to prepare for Sunday's race.
Herring, who was joined on the front row by Regan Smith, gave the lead away after just 27 laps. He also spun out on the 55th lap — drawing a caution to end the longest green-flag start of the season.
The flag did Keselowski no favors, as he was flagged for a tire violation during a pit stop and sent to the back for the restart. The No. 22 car also suffered through an overheating issue halfway through the race.
But Keselowski fought through all of that, posting his first career victory in a race where he was called for a pit row violation.
Ryan Gifford was ninth in his first career Nationwide start.
Bayne, who gave the No. 6 Roush-Fenway Racing car its fourth victory in five tries at Iowa in June, finished 10th.
Follow Luke Meredith on Twitter: www.twitter.com/LukeMeredithAP