Brandon is a city in Buchanan County, Iowa, United States. The population was 311 at the 2000 census.