The distance between Houston and San Antonio is approximately 211 miles (340 kilometers) when traveling by road, with a driving time of around 3 hours and 51 minutes. The straight-line (air) distance between the two cities is about 192 miles (309 kilometers).
