Dale Earnhardt twice came back from a lap down, then outdueled Bill Elliott over the last 100 laps Saturday night to break an 11-race winless string with a victory in the Busch 500 at Bristol International Raceway.