Harvick, a Sprint Cup Series regular, conserved enough fuel late in the race and then held off Johnny Sauter at the finish by 0.4 seconds for his 12th win in his 112th truck start. He won earlier this month at Pocono and last Saturday at Michigan.
"I want to thank my pit crew; they are the ones who won this race," Harvick said. "Three in a row is pretty cool."
Harvick has now won a race in each of NASCAR's three national series at Bristol.
Kyle Busch was attempting to win a truck race at this half-mile, high-banked track for the fourth year in a row, but Busch's night came to an end at the halfway point of the 200-lap race when he hit the wall after making contact with pole sitter Elliott Sadler.
The incident between Busch and Sadler occurred just after a restart. Busch retaliated on the following lap when he hit Sadler in the left rear and spun him around.
"When we were racing earlier tonight, I pulled a slide job on him, and then he ran into me three times after that," said Busch, who ended up finishing 30th. "I got clear of him for a while, but after that restart, I was trying to slide him and get up to the top. My spotter said that I was cleared at the time. Maybe I was too late, but he hooked me anyway and wrecked me. I'm not going to put up with it."
It was the second straight race that Busch failed to finish. At Michigan, he suffered a punctured radiator, which put him out of that event early with a 25th-place finish.
Sadler, who wound up finishing ninth, said the incident was not his fault.
"I honestly think his spotter just didn't tell him that I was on the outside of him," he said. "He came up, and I was there. I didn't even have time to check up or anything. I just think it was more between him and his spotter. He just wrecked himself. I hate that he thinks it was my fault."
Sauter's second-place run allowed him to pad his lead to seven points over James Buescher, who finished fourth.
Todd Bodine took the third spot, while Timothy Peters completed the top-five. Peters is now 15 points out of the lead.
Joey Coulter, Justin Lofton, Nelson Piquet Jr., Sadler and Parker Kligerman finished sixth through 10th, respectively.
Austin Dillon finished 23rd and fell 29 points behind Sauter. Dillon ran out of fuel and stopped on the track, prompting the ninth and final caution with 14 laps to go.