MARTINSVILLE, Va. -- Jimmie Johnson raced to his seventh career Martinsville Speedway victory to take the season points lead with three event left, holding off Kyle Busch on a restart with five laps to go Sunday.
The five-time series champion moved two points ahead of Brad Keselowski, who finished sixth for his highest career finish at the track.
Keselowski started 32nd, methodically worked his way forward, and took a late gamble to grab the lead on a restart with 19 laps to go. When Johnson and the rest of the leaders pitted for tires behind him, Keselowski's best bet was to hang on for as long as he could and avoid any Martinsville mayhem that cropped up in a furious dash to the finish.
Johnson made the race a points bonanza, leading the most laps and earning three points for the victory.
Busch was second, followed by Kasey Kahne, Aric Almirola, Clint Bowyer, Keselowski, Jeff Gordon and Brian Vickers.
While the championship race tightened at the top, it also eliminated Denny Hamlin, who seemed poised to get in the thick of it, and then had an electrical problem that sent him to a 33rd place finish and out of title contention.
Until then, he had put on a clinic about how to pass cars on the 0.526-mile oval.
After his first pit stop, Hamlin was penalized for entering pit road too fast, a penalty that moved him to the back of the lead lap, which was 31st. Immediately, he started quickly working his way forward.
After 200 laps, he was contending and actually left pit road with the lead, but again, he was penalized for speeding entering pit road, again dropping him to the back of the lead lap, this time 28th.
He again worked his way into the top five until his problems dropped him 34 laps behind.