Buffalo is a city in Leon County, Texas, United States. The population was 1,804 at the 2000 census.