Union is a city in Hardin County, Iowa, United States. The population was 397 at the 2010 census.