The 25-year-old suspect was apprehended about five hours later in Lancaster, southeast of Dallas, more than 70 miles from the scene, Bryant said.
The suspect, identified as Eddie Ray Routh, 25, was pursued to a house in Lancaster by officers, including a local SWAT team. Routh again try to flee in a vehicle but was stopped after spikes were laid across a road, Bryant said.
"The suspect has been caught and is in custody in Lancaster," the sheriff said. Erath County sheriff's investigators and Texas Rangers were securing a capital murder warrant.
Witnesses told sheriff's investigators that the gunman opened fire on the two men around 3:30 p.m., then fled in a pickup truck belonging to one of the victims.
The motive of the shooting remained unclear, he said. "Not a clue; absolutely no idea."