Avon is a city in Bon Homme County, South Dakota, United States. The population was 590 at the 2010 census.