RICHMOND, Va. — Brad Keselowski routed the field Saturday night for his fourth win of the season, a victory that gives him the top seed in NASCAR’s Chase for the Sprint Cup championship.

Keselowski led all but 17 of the 400 laps at Richmond International Raceway, where the last race of the regular season never shaped up to be the thriller NASCAR hoped. A new win-and-in format this year could have created a dramatic final push for a driver to make the Chase, but nobody had anything for Keselowski.

“What a night. I pulled into Victory lane and I pinched myself once to make sure I wasn’t dreaming,” Keselowski said. “These are nights you don’t forget as a driver and you live for.”

There were two spots up for grab in the 16-driver Chase field, but Ryan Newman and Greg Biffle pretty much entered the race in control of their own fate. Newman never left anything to chance with a strong ninth-place finish, and Biffle slid into the final spot with a 19-place finish.

“When you are that far off, it is the hardest thing in the world to drive,” Biffle said. “This is the toughest thing I’ve ever done in my life, drive and try to stay in the top 20.”

Jeff Gordon, the points leader for much of the regular season, finished second. Clint Bowyer, who needed to win to guarantee his Chase berth, was a disappointing third.

“I knew coming in here, it was a long shot at best,” Bowyer said. “We put it all out there. I raced as hard as we could. At our very best, we were a third-place race car tonight at my very best race track.”

Bowyer was caught in the middle of a scandal at this race a year ago when his late-race spin set in motion a chain of events that helped then-teammate Martin Truex Jr. make the Chase at the expense of Newman. NASCAR eventually threw Truex out of the Chase, put Newman in and added Gordon as an additional driver.

Defending NASCAR champion Jimmie Johnson finished eighth but appeared ill when he exited the car. He first laid down next to his car, then had to be helped to a cart by his Hendrick Motorsports crew. He was taken to the infield care center.

Tony Stewart, in his second race back since he sat out three after his sprint car struck and killed Kevin Ward Jr. at a New York dirt track, finished 15th. He would have been eligible to compete in the Chase if he won Saturday night’s race based on a waiver NASCAR gave him upon his return last week. The three-time champion had cracked the top 10 but his crew missed a lug nut on a late pit stop that took him out of contention.