MARTINSVILLE, Va. -- Jimmie Johnson's expectations are high at Martinsville Speedway, and his results keep showing why.

The five-time series champion raced to his seventh career victory on NASCAR's trickiest oval Sunday, and the triumph helped him erase a seven-point deficit and supplant Brad Keselowski as the points leader with three events remaining.

But before handing Johnson the title, he cautioned, there's plenty of racing yet to do.

Johnson moved two points ahead of Keselowski, who finished sixth for his highest career showing at the track. The series next moves to Texas and Phoenix before finishing up at Homestead-Miami.

Both drivers needed only to look at Denny Hamlin's day to be reminded that things can go south fast. Hamlin 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 contention.

Keselowski's day was nowhere near as adventurous as Hamlin's, but effective all the same.

He started 32nd, methodically worked his way forward, and was never really a factor until he took a late gamble to grab the lead -- and a crucial bonus point. He was leading the race briefly when a caution flag flew and he and Dale Earnhardt Jr. opted to stay out, then watched as the other 16 lead-lap cars all headed for pit road for fresh tires.

When the race went back to green with 19 laps to go, Keselowski was a sitting duck whose best bet was to hang on for as long as he could and then avoid any Martinsville mayhem that cropped up in a furious dash to the finish.

Johnson, who led eight times for 193 laps, passed him on lap 487 on his way to making the race a bonus points bonanza. He got one for leading a lap, one for leading the most laps and three for the victory, wiping out a seven-point deficit.

Kyle Busch was second, followed by Kasey Kahne, Aric Almirola, Bowyer, Keselowski, Jeff Gordon and Brian Vickers.

On the final restart, Busch said he was trying to avoid spinning Johnson heading into turn one, but nudged him. Johnson slowed, and Busch too, and "when I went back to the gas, I spun my tires and got loose, and he squirted away from me."

Bowyer also had a great car, leading 154 laps, and Gordon led 92.

While the championship race tightened at the top, it also eliminated 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.

Hamlin dropped 49 points off the pace. Bowyer is third, 26 back, and Kahne is 29 back.

Copyright 2012 by The Associated Press. All rights reserved. Material may not be redistributed.