NEWTON, Iowa — Justin Allgaier won all three stages and the NASCAR Xfinity Series race Sunday at Iowa Speedway for his second victory of the season.

Racing for Dale Earnhardt Jr. in JR Motorsports' No. 7 Chevrolet Camaro, Allgaier led 182 of 250 laps and survived an unlucky late caution by winning the restart.

Allgaier also won last month at Dover. He has seven career victories — but few of those runs were as dominant as the one Allgaier pulled off in the searing heat on Iowa's short track.

"We had a great car," Allgaier said. "Incredible ... how could you not enjoy this?"

Despite Allgaier's dominance, Christopher Bell made him work to keep the lead throughout the final stage — at times closing to within a tenth of a second of taking the lead — before finishing second.

"We were really close," Bell said. "We could never pass (Allgaier)...I could never get outside of him, I could never get inside of him."

Daniel Hemric was third, followed by Cole Custer and Brandon Jones, and Riley Herbst was sixth in his series debut.

Points leader Elliott Sadler lost a tire at the end of stage one. He finished 28th and saw his lead dwindle to just four points.

Allgaier's Dover win came with an asterisk, as a post-race penalty cost him his playoff points and the virtual guarantee of a post-season spot that comes with a victory.

But Allgaier made sure he'll have a say in the championship hunt, piloting the fastest car in the field through all three stages.

Austin Cindric, driving the No. 22 Team Penske car that Brad Keselowski, Joey Logano and Ryan Blaney already won in this season, won his first career pole earlier Sunday. Cindric led the first 58 laps after leading just six in his career prior to the race, but Allgaier snuck past him with two laps left.

Cindric never threatened after that, finishing 11th.

Allgaier's dominance continued in stage two, which he took by a full second over Bell. Allgaier then kept the lead for the final stage, but Bell had managed to get side-by-side with Bell on a long green-flag run.

Pit strategy looked like it might decide the race before had Chad Finchum hit the wall with 51 laps to go. But Allgaier again beat Bell by a second on the ensuing stop.

"I felt like we were better than the (No.) 7 (car) all day. Just couldn't pass him," Bell said. "It's pretty hard to pass a car that's really good like that."

The final caution came when Brandon Hightower clipped the wall with 18 laps to go. But since everyone had already had enough fuel and was on their last set of tires, Allgaier simply jumped back out in front and cruised to a win — one that clinched his second consecutive multi-victory season.

Allgaier also won twice last year.