BROOKLYN, Mich. (AP) -- During the last couple laps of his first Sprint Cup victory, Kyle Larson was emotional.
"I think with two to go, I was starting to get choked up," he said. "We worked really, really hard to get a win, and just haven't done it. Finally all the hard work by everybody, hundreds of people at our race shop, people who have got me through to the Cup Series, it was all paying off."
Larson took the lead on a restart with nine laps remaining and held off Chase Elliott at Michigan International Speedway on Sunday in a duel between two of NASCAR's up-and-coming standouts. Elliott had a comfortable lead before a tire problem on Michael Annett's car brought out the yellow flag. Larson had the better restart and went on to win by 1.48 seconds.
Brad Keselowski finished third.
Larson's victory in his No. 42 Chevrolet snapped a 99-race losing streak for Chip Ganassi Racing dating to Jamie McMurray's victory at Talladega in 2013.
Larson secured a spot in the Chase for the Sprint Cup with two races left in the regular season. Elliott remains winless, but is in solid shape to make the Chase field on points if need be.
It was the 99th career start for the 24-year-old Larson, who had 14 top-five finishes before Sunday but hadn't won at the Cup level. The 20-year-old Elliott is winless in 29 starts, but this was an impressive showing for him after eight consecutive races outside the top 10.
Elliott finished second at Michigan in June as well, losing to Joey Logano.
"That's a couple races in a row in just a few short months here at this place we had a really good car, had an opportunity," Elliott said. "That's one thing I try really hard to do is make the most of opportunities when they're presented. Obviously I didn't do a very good job of that here both trips."
Elliott led by 2.86 seconds with 28 laps to go Sunday, and it looked as if Larson's chance to catch him had been derailed when he lost ground passing a lapped car. The caution gave him another shot, though, and he took advantage.
"We both spun our tires really bad, and the No. 2 (Keselowski) pushed me really good," Larson said. "He could have probably pulled underneath me and went by, but he stayed with me and got me the lead."
There were only four cautions in the 200-lap, 400-mile race. Larson led a race-high 41 laps. Logano, the pole winner, finished 10th.
Chris Buescher, who has a victory but still needs to stay in the top 30 in points to make the Chase, finished 35th after some early engine trouble. Buescher is seven points ahead of David Ragan for 30th place on the season.
Alex Bowman, filling in for Dale Earnhardt Jr. in the No. 88 car, had a problem with the ignition system and finished 30th.
Twelve drivers have wrapped up Chase berths. Tony Stewart, who has a victory, has clinched a top-30 finish in points to secure his spot.
Buescher's situation is still uncertain, so there could end up being as many as four drivers making it in on points. Elliott is 11th in the standings, the top driver with no victories.
WHO'S HOT: Points leader Kevin Harvick followed up his win at Bristol with a fifth-place showing at Michigan. He has 11 top-five finishes in 24 starts this year.
WHO'S NOT: It was another rough day for Kyle Busch at Michigan. He'd finished out of the top 30 in five of his previous six races at the track, and he was no factor Sunday after an early spin, although he did recover well enough to come in 19th.
"We actually had a pretty fast car. We ran some really fast laps, but we just got in a bad spot there on the restart and got sucked around and wore off part of our splitter," crew chief Adam Stevens said. "Even after that we were one of the probably five or six quickest cars on the race track and just whenever we got in the lucky-dog spot we ran there for I can't tell you how many laps and just didn't get a caution."
INSPECTION: Keselowski's No. 2 Ford failed post-race laser inspection.
SKID: Hendrick Motorsports is winless in 19 races after Elliott fell short, but there were some positive signs for the team. At the midway point, Hendrick cars were 1-2, with Jimmie Johnson leading Elliott at the front. Kasey Kahne was in fifth at that point.
Johnson ended up sixth, and Kahne finished 14th. Bowman was the only driver for Hendrick who finished way behind.
This is Hendrick's longest losing streak since a 22-race dry spell from 1993 into 1994.
UP NEXT: Darlington Raceway, Sept. 4. Carl Edwards is the defending race winner.