Bradshaw is a town in McDowell County, West Virginia, United States. The population was 337 at the 2010 census. Bradshaw was incorporated in December 1979 and named for a pioneer settler. According to the United States Census Bureau, the town has a total area of 0.80 square miles, of which 0.77 square miles is land and 0.03 square miles is water.