It wasn’t over until it was over, and then it still wasn’t really over.

Joey Logano went from fifth to first in the final nine laps to win Saturday night’s Toyota Owners 400 at Richmond International Raceway and earn his second Sprint Cup Series victory of the season and cementing his position as one of this season’s championship contenders.

“It’s not over until it’s over,” Logano screamed over his radio as the race ended.

And it wasn’t.

As Logano celebrated on the frontstretch, Brad Keselowski and Matt Kenseth – who all battled for the lead along with Jeff Gordon in the final laps – exchanged words on pit road.

“I had a terrible restart the one before the last one and then we had a good one but (Earnhardt) in front of me didn’t have the best and once we started racing, there were three cars in front of me and I thought I had a shot still,” Logano said. “(Kenseth) started blocking the top because (Keselowski) was so fast up top for the first 10 laps of a run and eventually I had enough room to turn up underneath him and get enough clean air on the car to take off.”

The race got off to a difficult start for Kyle Larson, who started on the pole when qualifying was washed out on Friday.

As Larson entered Turn 1, Keselowski closed in and Clint Bowyer dove to the bottom of the track. Bowyer and Larson made contact, sending Larson for a spin and bringing out a caution on the race’s first lap.

On the restart on Lap 8, Keselowski took over the lead.

NASCAR threw a competition caution on Lap 41 due to heavy rains the night before. After a round of pit stops, Kevin Harvick took the lead on the restart on Lap 47.

Keselowski retook the lead on Lap 56.

Debris on the frontstretch brought out a caution on Lap 100. After a round of pit stops, Gordon took the lead on the restart on Lap 107, followed by Harvick and Dale Earnhardt Jr.

The right-front tire area of Bowyer’s No. 15 Toyota erupted on fire which brought out a caution on Lap 162. The damage to Bowyer’s car was extensive, and he was forced to the garage. On the restart on lap 171, Gordon continued to lead the way.

In the garage, Bowyer was asked about the incident on the first lap with Larson.

“I really hate that happened. I really like Kyle (Larson) and I’m a big fan of his,” he said. “Him and (Keselowski) kind of spun the tires and I just got such a big run him when he moved up.”

“Then I was like, ‘OK, I guess I’m going to go to the bottom if you’re going to give me the bottom.’ Then at the last minute he arced it in and I just wasn’t ready for him. I tried to get on the brakes and just got into him. I’m so glad he didn’t hit the wall.”

Keselowski passed Gordon on Lap 173 to retake the lead in the race.

After 200 of 400 laps, Keselowski led the way followed by Gordon and Logano.

Gordon retook the lead from Keselowski on Lap 210.

Fire from burning rubber enveloped Reed Sorenson’s car which brought out a caution on Lap 237. After a round of pit stops, Gordon took over the race lead on the restart on Lap 239 followed by Logano and Earnhardt.

Four laps later, Logano made his way around Gordon to take the lead. Gordon took the lead back on Lap 252.

Jimmie Johnson had a right-front tire issue and a caution for debris as displayed on Lap 368 – the seventh caution of the race. All of the lead-lap cars pit for fuel and tires with Kenseth leading on the restart on Lap 377.

Before the completion of another lap, Kyle Busch got into Denny Hamlin and sent him for a spin, bringing out the eighth caution. On the restart on Lap 383, Kenseth remained in the lead followed by Earnhardt and Logano.

J.J. Yeley’s engine blew on Lap 386 to bring out another caution. On the restart on Lap 392, Kenseth remained in the lead.