Hornaday, caught in the pit on an early stop because of a caution, regained the lead from Kyle Busch on lap 108 of the 147-lap race at the 11/2-mile high-banked Texas Motor Speedway. Hornaday finished 0.958 seconds ahead of Busch, who led 87 laps in a backup truck salvaged this week from a hauler fire.
Benson finished third, nearly 9 seconds behind. But by passing two trucks in the final five laps to get that close, Benson retained the points lead in the close championship race -- though his margin was trimmed from 31.
"It's going to come down to the end. That's what it's all about," Hornaday said. "It's pretty cool. There are two more races. We'll see."
Hornaday, the first driver to sweep both Texas races since Brendan Gaughan did so in 2002 and 2003, won with an average speed of 126.210 mph. It was his sixth victory this season and 39th in his career.
"We'll take third and walk out of here," Benson said.
Next week, they go to Phoenix before the finale at Homestead.
After initially taking the lead from Busch on lap 51, Hornaday gave it up when he went to the pits five laps later. About the same time his crew jacked up the truck, a caution flag came out when Jack Smith made contact with the inside wall on the backstretch.
"I thought we were down and out again," Hornaday said.
That pushed Hornaday a lap down, but he was back on the lead lap by the time there was another caution on lap 66.
Midway through the race, Hornaday and Benson raced side-by-side and nose-to-tail for several laps. They were running ninth and 10th at the time.
On lap 108, Hornaday drove his Chrevrolet, owned by Kevin and DeLana Harvick, past Busch and Travis Kvapil. Hornaday stayed in front from there, building a 2-second advantage at one point.
Busch, also the runner-up to Hornaday in June, qualified this time in a truck that was salvaged from a hauler fire late Tuesday night that destroyed the primary truck and a lot of equipment owned by Billy Ballew Motorsports.
The backup truck was filled with water after firefighters put out the fire, but his crew got the Toyota ready for the race. And Busch led the first 50 laps.
Rick Crawford, one of only two drivers to run in all 22 truck races at Texas, started from the pole for the first time. He finished 11th after being involved in an early accident.
Todd Bodine, a four-time Texas winner, was fourth and Colin Braun fifth. Terry Cook, the other driver to run every Texas race, matched his best finish in sixth.
Cale Gale completed only one lap in his first start in the No. 2 Chevrolet, the same Harvick-owned truck that Ryan Newman drove to Victory Lane at Atlanta last week in his first Truck Series start.
On the second lap, with Kvapil inside of him, Cale moved up to give Kvapil more room, and made contact with Crawford running above him. That created a chain-reaction accident in which five trucks were damaged -- with Crawford the only one able to stay in the race. A 10-lap caution period was needed to clean up the track.
Hornaday was just in front of the melee. Benson, behind the mess, had to brake hard to avoid contact with other trucks and was able to get to the bottom of the track to avoid trouble.
Bodine wins trucks race at Talladega
Hornaday wins at Gateway International
Pellegrini Pleased With Positive Start
McClaren Wants A Race To Victory