AP photo by Tony Gutierrez / Cup Series driver Kyle Larson celebrates in victory lane at Texas Motor Speedway after winning the NASCAR All-Star Race on Sunday in Fort Worth.

FORT WORTH, Texas — Kyle Larson won the NASCAR All-Star Race for the second time in three years, adding another $1 million prize to a strong season in his first year with Hendrick Motorsports.

Larson held off a hard-charging Brad Keselowski during the final 10-lap shootout at Texas Motor Speedway on Sunday night. That came after a slippery three-wide pass to get back in front and push Hendrick to its second consecutive win and 10th overall in the annual showcase with a seven-figure prize but no Cup Series points at stake.

Hendrick's Chase Elliott — the reigning Cup Series champion and the All-Star winner last year at Bristol Motor Speedway — started the sixth and final segment out front but didn't stay there long. Larson pushed his teammate, then got in front on the outside through the fourth turn. They were three wide while Team Penske's Keselowski pulled ahead briefly at the line before Larson finally got ahead to stay for the last eight laps.

"That last restart worked out exactly how I needed it to. I wanted Chase to not get a good run down the back," Larson said. "Thankfully, I think (Keselowski) got to his inside, and I just shoved him down the back and he probably thought I was going to just follow him, and I was like, 'There's got to be enough grip where we'd be running for one corner,'" he said. "It was a little slick up there, but I was able to get it and hold him off from there. I can't believe it."

Larson went to victory lane for the third weekend in a row.

Keselowski said running second to Hendrick cars these days is somewhat of an accomplishment.

"They're just stupid fast, and I had him off of turn four, but they just have so much speed," Keselowski said. "He just motored right on back by me."

Larson was with Chip Ganassi Racing when he won the 2019 All-Star Race, but Larson missed last year's big event while serving a six-month suspension after using a racial slur during the livestream of a virtual race while racing was shut down due to the coronavirus pandemic. That nearly cost him his career, but Hendrick gave him an opportunity this season to get back into the Cup Series.

Second in points with 10 races to go before the playoffs, Larson is only the eighth driver to be a two-time All-Star winner.

Elliott finished third with Penske's Joey Logano fourth, ahead of teammate Ryan Blaney and Hendrick's Alex Bowman and William Byron. Aric Almirola, Kyle Busch and Kurt Busch rounded out the top 10 in the 21-car field.

Hendrick drivers Elliott, Byron and Larson started the final segment 1-2-3. Elliott had moved from third to first during the 30-lap fifth segment that included a required four-tire stop and $100,000 prize for his crew, which had the fastest stop.

Byron won the fourth segment and had the lowest cumulative finish through the first four 15-lap segments. Larson, Blaney and Bowman finished in front for the first three segments.

Larson was on the pole by a random draw and was still in front at the end of the first segment. After a random inversion of the top 12 finishers in that first stage, Blaney was moved from 12th to first to start the next 15 laps.

Blaney stayed in front, even holding on after wiggling because of contact from behind by Ross Chastain, one of three drivers who advanced to the main event from the earlier open qualifying race.

After a full-field inversion going to the third stage, Aric Almirola, who also got in through the qualifying race, went from last to first, but it was Bowman — after getting pushed up from 17th to fifth — in the lead after those 15 laps.

On a hot night deep in the heart of Texas, drivers emerged through the saloon doors on a huge facade during prerace introductions while their cars were rolled through a corral gate. Drivers did their warmup laps while Sammy Hagar performed "I Can't Drive 55" from the stands, ending right at the green flag.

It was 97 degrees with the sun still shining when the race started, with a heat index of 106. The track temperature had been in the mid-140s during the earlier open qualifying race, though there were some areas of shade by time the main event started.

Texas is the third track in three years for the All-Star race. It was moved last summer from Charlotte Motor Speedway, which hosted 34 of the first 35 All-Star Races, because of COVID-19 restrictions in North Carolina.

Sunday's event served as a sendoff and full-circle finish for old-school NASCAR promoter Eddie Gossage, the Texas Motor Speedway president working his last day for Speedway Motorsports.

Gossage, now 62, had considering stepping down for at least two years. He was chosen by Speedway Motorsports founder Bruton Smith to oversee the 1,500-acre complex since its groundbreaking in 1995, two years before the first Cup Series race at the track that included a big crash in the first turn of the first lap.

He was a young public relations director at Charlotte in 1992 when, during a news conference to promote NASCAR's first nighttime All-Star Race, one of his stunts literally set Smith's hair on fire. When Smith threw the giant light switch rigged by Gossage to highlight the speedway's new lighting system, sparks flew.

Three decades after he thought he was headed for the unemployment line, Gossage is going out on his own terms. He planned to spend Monday at the pool with his three grandchildren.