CONCORD, N.C. (AP) — Brad Keselowski, in a contract year and trying to up his value in free agency, gave Roger Penske a victory on what should have been the most celebrated day in motorsports but was instead just a 6-plus hour NASCAR show.

Keselowski extended Jimmie Johnson’s losing streak to 102 races by holding off the seven-time NASCAR champion in overtime early Monday to win the Coca-Cola 600, the longest race on the NASCAR schedule.

It was the first win for Keselowski this season, his first Coca-Cola 600 victory and the first win at this event for Ford since 2002. Keselowski celebrated as he usually does by waving a giant American flag out his window during his victory burnouts on the frontstretch of Charlotte Motor Speedway.

When he first got out of the car for his network interview, the silence at the track was a downer.

“I was kind of bummed. I wanted to win the 600 my whole life and wanted to win in front of everybody,” Keselowski said. “But that’s not always how it works. I know there are fans that wish they could be in the stands.”

In these unusual times of the coronavirus pandemic, NASCAR is still adapting in its return to racing a full week ago. This event was its third Cup race in seven days — all without spectators — and limited media access.

Wearing a white Team Penske face mask, Keselowski went to the empty infield media center for a post-race news conference over Zoom. Unable to hear the questions, he shouted into the computer.

“Can you talk really loud?” he yelled. “My ears are ringing.”

The Sunday before Memorial Day is a supposed to be a smorgasbord of motorsports that begins with Formula One at the Monaco Grand Prix, then IndyCar and the Indianapolis 500, followed by NASCAR and its longest race on the calendar.

The coronavirus pandemic has wiped out the first part of F1′s schedule and, like IndyCar, it is still waiting to start its season. Penske, the new owner of Indianapolis Motor Speedway, has moved the Indy 500. It marks the first time since 1946 the 500 is not being run on Memorial Day weekend.

NASCAR was able to resume its season under a health plan approved by state officials that allowed the sport to resume after a 10-week hiatus. NASCAR ran three events in South Carolina, and the Coca-Cola 600 kicks off four consecutive days of racing at Charlotte.

A rain delay of nearly 90 minutes during the first stage of the race pushed the finish into Monday, but it still ended up just fine for Penske, the owner of Keselowski’s car who should have spent Sunday celebrating his first Indy 500 as owner of the national landmark.

“This is one of the biggest days for him,” Keselowski said. “Winning never hurts. This is my 30th win and I think I have another 30 in me.”

Johnson finished second, one spot ahead of devastated Hendrick Motorsports teammate Chase Elliott, as Chevrolet is still seeking its first win in the three Cup races since NASCAR resumed. But almost two hours after the race, NASCAR disqualified Johnson because his Chevrolet failed post-race inspection.

“We think something must’ve broken, but won’t know until we get it back to the shop,” said Johnson crew chief Cliff Daniels. “Tough news after a strong night.”

Elliott had a comfortable lead and was coasting to the win when Hendrick Motorsports teammate William Byron spun with a tire problem.

“That’s got to be a joke,” Elliott said over his radio.

Elliott was wrecked by Kyle Busch trying to race for the win at Darlington Raceway on Wednesday night. It led to Elliott flipping Busch the bird at Darlington.

This time, he was briefly consoled by Busch as he climbed from his car on pit road. But he was openly disappointed for the second time in four days.

“I was a lap-and-a-half away from winning the 600,” Elliott said. “This week has been pretty unfortunate, we have had some tough losses.”

His race was snatched from Elliott by the caution for Byron and then the pit decisions that followed.

Elliott pitted and Keselowski led a train of eight cars that stayed on the track. He lined up in front of Alex Bowman on the inside line with Johnson — retiring from Cup racing at the end of the season — on the bottom ahead of Keselowski teammate Ryan Blaney.

Keselowski got the push to get into clean air and denied Johnson a victory.

“I feel like I have thrown this race away a handful of times and I thought we were going to lose it today,” Keselowski said. “I have lost it the way Chase lost it and it really stinks. And today we finally won it that way.”