Fincastle is part of the Roanoke Metropolitan Statistical Area.
As of the census of 2000, there were 359 people, 129 households, and 83 families residing in the town. The population density was 1,480.8 people per square mile (577.5/km²). There were 142 housing units at an average density of 585.7/sq mi (228.4/km²). The racial makeup of the town was 89.69% White, 7.52% African American, 0.28% Native American, 0.28% Asian, 1.67% from other races, and 0.56% from two or more races. Hispanic or Latino of any race were 1.95% of the population.
One newer calculation shows that the Asian minority population in Fincastle is at least .557% in that there are at least 2 adopted Korean siblings living there.
There were 129 households out of which 27.1% had children under the age of 18 living with them, 51.9% were married couples living together, 10.1% had a female householder with no husband present, and 34.9% were non-families. 32.6% of all households were made up of individuals and 13.2% had someone living alone who was 65 years of age or older. The average household size was 2.39 and the average family size was 3.04.
In the town the population was spread out with 19.8% under the age of 18, 11.1% from 18 to 24, 32.3% from 25 to 44, 24.2% from 45 to 64, and 12.5% who were 65 years of age or older. The median age was 39 years. For every 100 females there were 117.6 males. For every 100 females age 18 and over, there were 126.8 males.
The median income for a household in the town was $33,438, and the median income for a family was $54,688. Males had a median income of $32,500 versus $21,563 for females. The per capita income for the town was $19,954. None of the families and 2.3% of the population were living below the poverty line, including no under eighteens and 10.2% of those over 64.