The 25 Most Affordable Small Towns in Minnesota
Ranked by home value ÷ income among 165 towns of 500–10,000 people in Minnesota. #1 is Pipestone, MN (homes cost 1.7× income).
-
25Redwood Falls, Minnesota
Homes cost 2.6× income
Redwood Falls is a city of 5,102 people in Redwood County, Minnesota. The median home is worth $162,100 and the median household earns $61,750, so homes cost 2.6× income (typical Minnesota town: 3.4×). Median rent is $832.
5,102 people · Redwood County · median home $162,100 · income $61,750 · Jan low 4°F · 44 in snow
Full Redwood Falls, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
24St. Paul Park, Minnesota
Homes cost 2.6× income
St. Paul Park is a city of 5,544 people in Washington County, Minnesota. The median home is worth $263,500 and the median household earns $100,642, so homes cost 2.6× income (typical Minnesota town: 3.4×). Median rent is $2,174.
5,544 people · Washington County · median home $263,500 · income $100,642 · Jan low 9°F · 46 in snow
Full St. Paul Park, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
23Albertville, Minnesota
Homes cost 2.6× income
Albertville is a city of 7,896 people in Wright County, Minnesota. The median home is worth $343,700 and the median household earns $132,734, so homes cost 2.6× income (typical Minnesota town: 3.4×). Median rent is $1,348.
7,896 people · Wright County · median home $343,700 · income $132,734 · Jan low 4°F · 36 in snow
Full Albertville, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
22Lake Crystal, Minnesota
Homes cost 2.5× income
Lake Crystal is a city of 2,539 people in Blue Earth County, Minnesota. The median home is worth $204,400 and the median household earns $83,317, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $825.
2,539 people · Blue Earth County · median home $204,400 · income $83,317 · Jan low 6°F · 40 in snow
Full Lake Crystal, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
21Barnesville, Minnesota
Homes cost 2.5× income

Photo: John P Salvatore (public domain, Wikimedia Commons) Barnesville is a city of 2,759 people in Clay County, Minnesota. The median home is worth $248,700 and the median household earns $97,917, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $848.
2,759 people · Clay County · median home $248,700 · income $97,917 · Jan low -1°F · 52 in snow
Full Barnesville, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
20Staples, Minnesota
Homes cost 2.5× income
Staples is a city of 2,989 people in Todd County, Minnesota. The median home is worth $130,000 and the median household earns $52,071, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $844.
2,989 people · Todd County · median home $130,000 · income $52,071 · Jan low -1°F · 51 in snow
Full Staples, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
19Chatfield, Minnesota
Homes cost 2.5× income
Chatfield is a city of 2,997 people in Fillmore County, Minnesota. The median home is worth $241,600 and the median household earns $96,078, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $748.
2,997 people · Fillmore County · median home $241,600 · income $96,078 · Jan low 4°F · 48 in snow
Full Chatfield, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
18Breckenridge, Minnesota
Homes cost 2.5× income
Breckenridge is a city of 3,430 people in Wilkin County, Minnesota. The median home is worth $144,500 and the median household earns $58,963, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $515.
3,430 people · Wilkin County · median home $144,500 · income $58,963 · Jan low -1°F · 50 in snow
Full Breckenridge, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
17Thief River Falls, Minnesota
Homes cost 2.5× income

Photo: Andrew Filer (public domain, Wikimedia Commons) Thief River Falls is a city of 8,749 people in Pennington County, Minnesota. The median home is worth $175,400 and the median household earns $71,144, so homes cost 2.5× income (typical Minnesota town: 3.4×). Median rent is $838.
8,749 people · Pennington County · median home $175,400 · income $71,144 · Jan low -3°F · 50 in snow
Full Thief River Falls, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
16Granite Falls, Minnesota
Homes cost 2.3× income
Granite Falls is a city of 2,737 people in Yellow Medicine County, Minnesota. The median home is worth $136,700 and the median household earns $59,375, so homes cost 2.3× income (typical Minnesota town: 3.4×). Median rent is $920.
2,737 people · Yellow Medicine County · median home $136,700 · income $59,375 · Jan low 3°F · 52 in snow
Full Granite Falls, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
15Mountain Iron, Minnesota
Homes cost 2.3× income
Mountain Iron is a city of 2,878 people in St. Louis County, Minnesota. The median home is worth $192,800 and the median household earns $83,293, so homes cost 2.3× income (typical Minnesota town: 3.4×). Median rent is $918.
2,878 people · St. Louis County · median home $192,800 · income $83,293 · Jan low -1°F · 69 in snow
Full Mountain Iron, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
14Windom, Minnesota
Homes cost 2.3× income
Windom is a city of 4,798 people in Cottonwood County, Minnesota. The median home is worth $169,700 and the median household earns $74,899, so homes cost 2.3× income (typical Minnesota town: 3.4×). Median rent is $806.
4,798 people · Cottonwood County · median home $169,700 · income $74,899 · Jan low 8°F · 44 in snow
Full Windom, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
13Virginia, Minnesota
Homes cost 2.3× income
Virginia is a city of 8,421 people in St. Louis County, Minnesota. The median home is worth $120,600 and the median household earns $51,720, so homes cost 2.3× income (typical Minnesota town: 3.4×). Median rent is $792.
8,421 people · St. Louis County · median home $120,600 · income $51,720 · Jan low -1°F · 69 in snow
Full Virginia, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
12White, Minnesota
Homes cost 2.2× income
White is a township of 3,136 people in St. Louis County, Minnesota. The median home is worth $123,600 and the median household earns $55,293, so homes cost 2.2× income (typical Minnesota town: 3.4×). Median rent is $509.
3,136 people · St. Louis County · median home $123,600 · income $55,293 · Jan low -7°F · 76 in snow
Full White, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
11Blue Earth, Minnesota
Homes cost 2.2× income
Blue Earth is a city of 3,174 people in Faribault County, Minnesota. The median home is worth $143,600 and the median household earns $66,771, so homes cost 2.2× income (typical Minnesota town: 3.4×). Median rent is $918.
3,174 people · Faribault County · median home $143,600 · income $66,771 · Jan low 6°F · 47 in snow
Full Blue Earth, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
10Sleepy Eye, Minnesota
Homes cost 2.2× income
Sleepy Eye is a city of 3,452 people in Brown County, Minnesota. The median home is worth $147,600 and the median household earns $66,911, so homes cost 2.2× income (typical Minnesota town: 3.4×). Median rent is $782.
3,452 people · Brown County · median home $147,600 · income $66,911 · Jan low 7°F · 41 in snow
Full Sleepy Eye, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
9Dodge Center, Minnesota
Homes cost 2.1× income
Dodge Center is a city of 2,844 people in Dodge County, Minnesota. The median home is worth $197,600 and the median household earns $93,884, so homes cost 2.1× income (typical Minnesota town: 3.4×). Median rent is $1,012.
2,844 people · Dodge County · median home $197,600 · income $93,884 · Jan low 4°F · 47 in snow
Full Dodge Center, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
8Caledonia, Minnesota
Homes cost 2.1× income
Caledonia is a city of 2,847 people in Houston County, Minnesota. The median home is worth $157,900 and the median household earns $76,477, so homes cost 2.1× income (typical Minnesota town: 3.4×). Median rent is $839.
2,847 people · Houston County · median home $157,900 · income $76,477 · Jan low 8°F · 45 in snow
Full Caledonia, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
7Chisholm, Minnesota
Homes cost 2.1× income
Chisholm is a city of 4,775 people in St. Louis County, Minnesota. The median home is worth $109,200 and the median household earns $50,891, so homes cost 2.1× income (typical Minnesota town: 3.4×). Median rent is $732.
4,775 people · St. Louis County · median home $109,200 · income $50,891 · Jan low -4°F
Full Chisholm, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
6Montevideo, Minnesota
Homes cost 2.1× income
Montevideo is a city of 5,398 people in Chippewa County, Minnesota. The median home is worth $141,000 and the median household earns $68,596, so homes cost 2.1× income (typical Minnesota town: 3.4×). Median rent is $851.
5,398 people · Chippewa County · median home $141,000 · income $68,596 · Jan low 2°F · 46 in snow
Full Montevideo, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
5International Falls, Minnesota
Homes cost 2.1× income
International Falls is a city of 5,802 people in Koochiching County, Minnesota. The median home is worth $120,400 and the median household earns $57,662, so homes cost 2.1× income (typical Minnesota town: 3.4×). Median rent is $645.
5,802 people · Koochiching County · median home $120,400 · income $57,662 · Jan low -6°F · 73 in snow
Full International Falls, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
4St. James, Minnesota
Homes cost 2.0× income
St. James is a city of 4,793 people in Watonwan County, Minnesota. The median home is worth $122,100 and the median household earns $60,242, so homes cost 2.0× income (typical Minnesota town: 3.4×). Median rent is $839.
4,793 people · Watonwan County · median home $122,100 · income $60,242 · Jan low 5°F · 50 in snow
Full St. James, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
3Eveleth, Minnesota
Homes cost 1.9× income
Eveleth is a city of 3,493 people in St. Louis County, Minnesota. The median home is worth $97,600 and the median household earns $50,725, so homes cost 1.9× income (typical Minnesota town: 3.4×). Median rent is $904.
3,493 people · St. Louis County · median home $97,600 · income $50,725 · Jan low -1°F · 69 in snow
Full Eveleth, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
2Jackson, Minnesota
Homes cost 1.8× income
Jackson is a city of 3,323 people in Jackson County, Minnesota. The median home is worth $128,500 and the median household earns $70,223, so homes cost 1.8× income (typical Minnesota town: 3.4×). Median rent is $752.
3,323 people · Jackson County · median home $128,500 · income $70,223 · Jan low 5°F · 45 in snow
Full Jackson, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians. -
1Pipestone, Minnesota
Homes cost 1.7× income
Pipestone is a city of 4,215 people in Pipestone County, Minnesota. The median home is worth $114,100 and the median household earns $67,568, so homes cost 1.7× income (typical Minnesota town: 3.4×). Median rent is $740.
4,215 people · Pipestone County · median home $114,100 · income $67,568 · Jan low 5°F · 40 in snow
Full Pipestone, Minnesota profile: weather, storms, schools, jobs →
Census ACS 2020–2024 medians.
More Minnesota rankings
- The 25 Best Small Towns to Retire in Minnesota
- The 14 Quietest Small Towns in Minnesota
- The 25 Best Small Towns for Families in Minnesota
- 25 Small Towns in Minnesota With the Cheapest Homes
- 25 Small Towns in Minnesota With the Mildest Winters
- The 25 Most Walkable Small Towns in Minnesota
- 25 Small Towns in Minnesota With the Fewest Tornadoes Since 1950
- The 25 Best Small Towns for First-Time Home Buyers in Minnesota
- The 15 Best Affordable Small Towns to Retire in Minnesota With Mild Winters
- The 24 Best Affordable Small Towns for Remote Workers in Minnesota
Same ranking, other places
- The 50 Most Affordable Small Towns in America
- The 25 Most Affordable Small Towns in Pennsylvania
- The 25 Most Affordable Small Towns in New York
- The 25 Most Affordable Small Towns in Michigan
- The 25 Most Affordable Small Towns in Texas
- The 25 Most Affordable Small Towns in California
- The 25 Most Affordable Small Towns in New Jersey
- The 25 Most Affordable Small Towns in Florida
- The 25 Most Affordable Small Towns in Wisconsin
- The 25 Most Affordable Small Towns in Ohio
- U.S. Census Bureau, American Community Survey 5-year estimates (2020–2024)
- U.S. Census Bureau, 2020 Census and 2025 Gazetteer (2020 / 2025)
- NOAA NCEI U.S. Climate Normals (1991–2020)
- NOAA NCEI Storm Events Database (1950–2026)
- FEMA OpenFEMA Disaster Declarations (this product uses the FEMA OpenFEMA API but is not endorsed by FEMA) (1953–2026)
- NCES Common Core of Data (2023–24)
- BLS Quarterly Census of Employment and Wages; USDA ERS county unemployment (BLS LAUS) (2000–2024)
- The Town Files lifestyle rankings, built from federal demographic, school, crime and housing data (2025)