Gordon won for the first time in 48 races with his victory Sunday in the Samsung 500 at the 1½-mile, high-banked Texas Motor Speedway, one of only two active tracks where the four-time NASCAR Sprint Cup champion had never won a race.
It was the 17th Cup race at Texas, the track where Gordon has the only two last-place finishes in his 552 career starts.
Gordon got his 82nd career victory by 0.542 seconds over Johnson.
Carl Edwards, going for his third consecutive Cup victory at Texas, was leading when the final caution came out with 30 laps left. But Edwards had problems in the pits, dropping 10 spots while Gordon went from third to first and stayed there.