Johnson took advantage of a new format in the race by winning the first 20-lap segment in the 90-lap all-star event. That allowed him to be the first driver onto pit road following the mandatory stop before the shootout to the finish.
He crossed the finish line 0.8 seconds ahead of Brad Keselowski, continuing his momentum from last week at Darlington Raceway, when he gave team owner Rick Hendrick his 200th Sprint Cup Series win.
Earnhardt had qualified for the all-star event by winning the 40-lap preliminary Sprint Showdown.
'SNL': 'Anchorman 2' cast, One Direction sing 'Afternoon Delight' [VIDEO]
Reindeer recovered after escaping from Santa during lighting ceremony