The distance between Houston, Texas, and Broken Arrow, Oklahoma, is approximately 400 miles by road. The exact travel time may vary depending on your chosen route and current traffic conditions.