The Camping World Truck Series is celebrating first-time winners this season.

California driver Justin Lofton stepped into victory lane for the first time Friday night, holding off Sprint Cup driver Brad Keselowski over the closing laps to win the North Carolina Education Lottery 200 at Charlotte Motor Speedway.

Lofton, 25, won for the first time in 55 races. In five races this year, he’s the third breakthrough winner, following John King at Daytona and James Buescher at Kansas.

Lofton edged Keselowski at the finish at the end of a five-lap shootout.

Keselowski was bumped by Ron Hornaday Jr. on a restart late in the race, resulting in a tense, profanity-laced discussion between the two on pit road after the race.

Todd Bodine finished third, Jason Leffler fourth and Hornaday fifth.

Lofton jumped into the lead from second place on a restart with 10 laps to go, Keselowski losing first on the bump from Hornaday.

A debris caution reset the field for another green flag with five to go, and Lofton held off Keselowski to the finish.

Lofton, driving for team owner Eddie Sharp (also a first-time winner), led 44 of the race’s 134 laps, including the final 10. He ran out of fuel on the cool-down lap.

Lofton took the series point lead by one point over Timothy Peters.

“When we broke out to the lead, and as the run went on, we started losing front-end grip,” Lofton said. “I thought we might finish second. I had had terrible restarts all night. Then the stars aligned. I figured out what I needed to do. And I think I had some help from Ron Hornaday. I surprised myself, definitely.”

Sharp bought Kevin Harvick’s Truck equipment at the end of last season as Harvick left the series.

“There were a lot of people over the winter who thought I was nuts,” Sharp said. “There were a lot of mornings when I got up and I was pretty convinced I was nuts.

“This is not a short-term project for me. I love being in this series. I was a huge part of the ARCA series. But I knew deep down this is where I wanted to be.

“This [win] is huge. It’s good for our employees. We have 40 employees, but I feel like I’m responsible for 250 people with their families. I want to have a good, solid place where people want to come to work, and I want to build a strong company.”

Keselowski called Hornaday a “jackass” in a media center session after the race. “He just ran me over,” Keselowski said. “It cost him what would have been an easy second place and cost me the win.”

Hornaday admitted to running into Keselowski. “They stopped [at the front] and played jackrabbit and all,” he said. “I’m sorry about that for him. We’re all looking for spots.”

The finish was set up with 14 laps to go when Nelson Piquet Jr. slapped the wall and brought out the race’s seventh caution, bunching the field.

Keselowski had just passed Lofton for the lead on the previous lap.

Pole winner Ty Dillon jumped in front at the start of the race and led the event’s first 25 laps.

The opening laps of the race were sprinkled with cautions.

An accident involving Jennifer Jo Cobb and Brennan Newberry brought out the first caution on lap four. Newberry’s caution misadventure would be the first of four for him.

Spilled engine oil from the Ross Chastain truck produced the night’s second caution on lap 13, and John King’s accident caused the third caution on lap 25.

Mike Hembree is NASCAR Editor for SPEED.com and has been covering motorsports for 30 years. He is a six-time winner of the National Motorsports Press Association Writer of the Year Award.