Harvick rallied, though, and came from nowhere for the second consecutive week to grab his second victory of the season. It gave his Richard Childress Racing team its first win at Martinsville since the late Dale Earnhardt's 1995 victory, and came at the expense of his son, Dale Earnhardt Jr., who settled for second and saw his losing streak stretch to 99 races.

"As I was catching him, I'm like, 'Man, I'm going to be the bad guy here,'" Harvick said. "I've got to do what I've got to do. I know the fans want to see him win. I want to see him win. It would be great for the sport and I think today went a long ways to showing how competitive (Earnhardt) can be and that's what we need. We all need him to win.

"But I'm not going to back down."

Harvick passed Earnhardt with four laps to go, spoiling what would have been his first win since Michigan in June 2008. Despite the loss, Earnhardt and his legion of fans saw that he's running much better after three years of struggles.

Earnhardt is eighth in the standings, the highest he's been since Texas this time last year.

"I am frustrated. I got close," Earnhardt said. "I ain't won in a long time. I was thinking at the end I was meant to win the damn race."

Busch was third. And the favorites? Well, they were nowhere near the leaders during the action-packed final 20 laps.

Hamlin and Johnson had combined to win the previous nine races at Martinsville, and ran most of the day as if one of them would again make the trip to Victory Lane. Both failed to finish inside the top 10.

Johnson was flagged for speeding on pit road late, finished 11th, and was irritated with NASCAR over what he thought was a bogus penalty.

"I wasn't speeding," he insisted. "They didn't like how it looked, the way I managed my timing lines. There is just no way. It won't do me any good to have a conversation (with NASCAR), it isn't going to matter."

Hamlin was 12th, and was furious about poor fuel mileage in his Joe Gibbs Racing car, along with slow pit stops. JGR, despite Busch's strong runs, has been plagued with engine issues all season, and the fuel mileage problems might have cost Hamlin the championship last year.

"Our mileage just (stinks) real bad," said Hamlin, winner of the last three races at Martinsville. "All of the things we need to do to be a championship team - we don't have all those parts together right now."

But Harvick might.

Last year's third-place finisher in the final Sprint Cup standings already has two wins and is in spectacular shape for a berth in the Chase for the championship. His two victories could be enough to ensure him at minimum a wild card in the new Chase qualifying rules, and could give his RCR team the luxury of racing aggressive the next few months.

And to think, early in the race, Harvick didn't believe he had a chance.

His Chevrolet struggled mightily early, and he was a race-low 27th on lap 234 of the 500-lap race. But a 25-minute red flag to fix a wall damaged by a violent hit by Martin Truex Jr. gave the No. 29 crew a chance to regroup, and Harvick steadily climbed through the field.

"We were terrible, no other way to put it," crew chief Gil Martin said. "The red flag was actually a good thing for us because our team was able to almost be at halftime, and we went to the bottom of the pit box, six or seven of us together, and we thought about what we could do."

They got Harvick up near the front as the action intensified following a restart with 29 laps left in the race.

Busch was leading when Earnhardt pulled ahead with 20 laps to go with a pass that brought everyone in the grandstands to their feet. Harvick closed quickly, then pulled onto Earnhardt's bumper with four laps to go, and made his pass in the second turn.

Earnhardt tried to get the lead back, but conceded as they rounded the fourth turn. Harvick then sailed away for his second consecutive victory.

Earnhardt later battled the conflicting emotions of being disappointed at falling short and celebrating another strong run.

"I'll probably think about it a million times what I probably could have done differently," he said. "If I know what's best for me, I should probably have a good attitude about what happened today and probably go into the next race and use it as momentum and confidence, like any other good driver would do, instead of worrying about, you know, how close we came."

Busch led a race-high 151 laps, the second consecutive Sprint Cup race he's dominated, only to fade to third. And it's the second race he could have won this weekend at Martinsville, but didn't. Busch finished second Saturday to Johnny Sauter in the Trucks Series race.

Busch, who took over the points lead despite coming up short of the win, said Earnhardt was in bounds with the bump on him for the lead.

"I was holding him up, so it was good for him," Busch said. "I mean, he took the lead. No harm, no foul. I probably had the best car here today. Unfortunately just didn't win with it."