Barstow is located in northeastern Ferry County, along U.S. Route 395 on the west side of the Kettle River. US 395 leads south 14 miles (23 km) to Kettle Falls and north 17 miles (27 km) to the Canadian border at Laurier.
According to the U.S. Census Bureau, the Barstow CDP has an area of 0.56 square miles (1.45 km2), all of it land.
The elevation is 1,400 feet above sea level.
In 1999, a four-year-old boy was injured in a cougar attack near a house on U.S. Highway 395 about a mile south of Barstow in Ferry County and about 11 miles northwest of Kettle Falls.