Nelson is located at the junction of the Mississippi River and Chippewa River valleys. A causeway and bridge across the Mississippi link Nelson with Wabasha, Minnesota. The river bottoms surrounding the confluence are home to a large amount of wildlife.
Nelson lies on Highway 35, the "Great River Road," a popular tourist route that runs up the east bank of the Mississippi River. The town's primary destination for tourists is the 100-year-old Nelson Cheese Factory.
According to the United States Census Bureau, the village has a total area of 1.5 square miles (3.8 km²), of which, 1.5 square miles (3.8 km²) of it is land and 0.68% is water.
There were 181 households out of which 26.0% had children under the age of 18 living with them, 45.3% were married couples living together, 7.2% had a female householder with no husband present, and 45.9% were non-families. 38.7% of all households were made up of individuals and 17.7% had someone living alone who was 65 years of age or older. The average household size was 2.18 and the average family size was 2.98.
In the village the population was spread out with 23.8% under the age of 18, 7.6% from 18 to 24, 26.8% from 25 to 44, 24.6% from 45 to 64, and 17.2% who were 65 years of age or older. The median age was 39 years. For every 100 females there were 104.7 males. For every 100 females age 18 and over, there were 100.7 males.
The median income for a household in the village was $30,833, and the median income for a family was $37,917. Males had a median income of $31,375 versus $20,000 for females. The per capita income for the village was $14,958. About 6.1% of families and 11.3% of the population were below the poverty line, including 9.7% of those under age 18 and 15.4% of those age 65 or over.