Sprint Cup regular Brad Keselowski won the race after moving up 10 spots in the final laps.
Dillon, driving the famed No. 3 for his grandfather, Richard Childress, finished 12th. It was good enough to hold off Hornish by three points. Hornish crossed the line eighth.
"We didn't have the car tonight at all," Dillon said. "Probably the worst car we had all year. But we fought. My guys kept me positive in the car. I just knew I had to go on that last restart. I've been criticized for restarts for a long time, and that was a pretty good one."
Hornish looked as if he would overcome an eight-point deficit in the standings for much of the 200-lap race, but a lengthy caution late posed problems. Hornish dropped from third to ninth on the final restart with five laps to go, ending his chances at getting a title in what could be his final race for Penske Racing.
Keselowski got new tires during the final caution and used them to weave his way through traffic. He went from 11th to first in a two-lap span after the restart. And once he was out front, no one was catching him.
Certainly not Dillon and Hornish, who were on old tires.
Keselowski finished the season with seven victories, all in the last 10 of his 16 series starts.
There were 12 laps under the final caution, a lengthy delay that surprised drivers and crew chiefs. A wreck involving Regan Smith, Mike Wallace and Jeremy Clements brought out the yellow flag with 17 to go and led to an extended cleanup for oil.
"We missed it after that late race caution," Hornish said. "We were exactly where we needed to be."
But not having fresh tires made passing anyone difficult, if not impossible, down the stretch. It didn't help that Kyle Busch spun his tires on the restart, leaving Hornish with nowhere to go.
"Couldn't get far enough ahead of those guys who had taken four tires," Hornish said. "That's how it worked out for us tonight. We gave away points throughout the season, between the driver making mistakes, from everybody on this team making the car better. ...
"We win as a team, we lose as a team. Just needed a little bit more."
Keselowski's victory wasn't the only thing to celebrate for Penske Racing. The team won the owners' title for Roger Penske -- edging Joe Gibbs Racing by a point -- and landed Ford the manufacturers' championship. Joey Logano finished sixth in the title-winning No. 22 car.
"We had four goals coming in here: win the manufacturer championship for Ford, help Sam win the driver title, win the owners' title and then win the race. We got three out of the four," Keselowski said. "Sam did a great job, even though he didn't get the fourth one done. He did an awesome job, and I'm really proud of his effort."
But the biggest celebration was saved for Dillon, whose fondest memory as a kid was seeing late NASCAR legend Dale Earnhardt win the 1998 Daytona 500.
Dillon knew all he had to do was stay close to Hornish.
"I knew if I could see him and see where he was, then I wasn't going to give up all the way to end," Dillon said. "He was a great competitor. Sam, he brought his stuff tonight. We were able to pass one at the end, and it was a hell of a race."