Buffalo is a town in Harding County, South Dakota, United States. The population was 330 at the 2010 census. It is the county seat of Harding County.