Johnson had the pole and led for a race-best 168 laps overall but didn't grab the advantage for good until passing Chase runner-up Brad Keselowski with less than two laps left and eking out an 0.8-second victory.
The Texas result came a week after Johnson's win in Martinsville and boosted his lead over Keselowski in the Chase for the Sprint Cup to seven points.
Just two races remain on the slate as the pair contest for the title -- Phoenix (Nov. 11) and Homestead (Nov. 18).
Boston schools pull out free condoms over wrapping complaints
Ray Liotta sues skin care company over use of likeness