Birmingham is a city in Van Buren County, Iowa, United States. The population was 448 at the 2010 census.