Johnson led 168 laps, but found himself chasing toward the end. The third restart in the late laps proved to be the charm for No. 48 Chevrolet.
During that restart on the 333rd of 334 laps, Johnson and Keselowski were side-by-side. Johnson charged hard on the outside, and cleared him on the backstretch. He held on for the final 1 laps to win from the pole for the second week in a row.
“It was an awesome race. It’s a great way to do it when the gloves are off and it’s bare-knuckle fighting,” Johnson said. “I got a great restart and got by him. I knew we had the speed if I could just get by him.”
Keselowski had taken only left-side tires _ when everybody else took four tires — and went from fourth to first on another restart with 19 laps left. But there were two more restarts after that, including one when Johnson and Keselowski banged together hard after they got going, but Johnson won the one that counted most.
“Man, I thought I had it, but we kept getting all those yellows,” Keselowski said. “I knew I wasn’t going to be able to execute every restart, and Jimmie did a great job on that last one.”
Johnson increased the No. 48 Chevrolet’s lead by five points to seven over Keselowski, a runner-up in his No. 2 Dodge at Texas by leading 75 laps after never before finishing better than 14th.
They go to Phoenix next week, where Johnson was fourth and Keselowski fifth in the second race of the season eight months ago. The season finale is at Homestead.
Kyle Busch, who led four times for 80 laps, finished third and Matt Kenseth was fourth.
It was Johnson’s 60th career victory and second at Texas, where he was the runner-up in April.
It also was the 700th NASCAR Sprint Cup victory for Chevy.
Johnson’s teammates Jeff Gordon and Kasey Kahne were involved in contact in the back of the field with Greg Biffle, setting up a restart with eight laps to go.
After Johnson charged high, and got a little loose, he came to the line side-by-side with Keselowski.
On the next lap, they made hard contact but kept going forward. Johnson maintained a slight lead at the line, but Keselowski pulled ahead and was still in front for two laps before Mark Martin spun out on the front stretch, setting up the final green-white-checkered finish.
There were nine cautions for 49 laps, including that late flurry that changed the race. It sure didn’t start that way, but then there were some yellow flags in bunches.
Keselowski had more than a 2-second lead over Johnson when there was a caution for debris with 59 laps left.
But Keselowski got in his pit box awkwardly, then had to back up to get around Danica Patrick’s car in the stall ahead of him. Once Keselowski pulled out, he ended up in a jam of cars and dropped eight spots to ninth for the restart.
Keselowski worked himself back up to fourth before the next stop, when he took two tires and went back in front.
After the April race at Texas ended with a track-record 234 consecutive green-flag laps, the first 100 laps Sunday were without a caution. That 334 laps was the equivalent of 501 miles, or a full Sprint Cup race at Texas.
The first caution was caused by debris on the track, and there were two more cautions within a span of 20 laps after that.
During that first stop, Keselowski took only two tires and within two laps led his first lap to get a bonus point after passing Ryan Newman, who hadn’t pitted. That was a short-lived lead before AJ Allmendinger spun out of control out of Turn 4 into the infield.
Keselowski and Johnson re-started side-by-side and in the one green-flag lap that was completed before another caution, Johnson edged back in front.
It had been a smooth Sunday drive for Johnson before all those interruptions.
Johnson charged ahead, and was quickly a few car lengths in front of the field. Within three laps after the first pit stop, he cycled back into the lead with Keselowski four spots and 5.3 seconds behind.
Following the second set of green-flag stops, Johnson and Keselowski were 1-2, but there was a nearly 4-second gap between them.
Tony Stewart finished fifth, followed by Clint Bowyer, who is now 36 points back in third place in the series standings.