You’ve seen these lists before. Best places to live in Minnesota. Best sururbs in Minnesota. Best counties in Minnesota.
Etc., etc., etc.
But they all focus on major cities and towns in the North Star State, and no one pays attention to the little guy.
Well, that’s all about to change as we put together a list of the superb small towns in Minnesota based on numbers–not opinions or hearsay.
We’ll dive right into our methodology in the next section, but first, we thought you might want to know which places in Minnesota ranked the best based on Saturday Night Science.
Table Of Contents: Top Ten | Methodology | Summary | Table
The 15 Best Small Towns To Live In Minnesota For 2025
- Wayzata
- Deephaven
- Elko New Market
- St. Bonifacius
- Oronoco
- Circle Pines
- Independence
- Tonka Bay
- Proctor
- Goodview
- Dellwood
- Centerville
- Bayport
- Hanover
- Greenfield
What’s the best small town in Minnesota? Wayzata is the best small town in Minnesota based on the most recent Census data. If you live in one of these small towns like Wayzata, chances are, you’re not surprised. After all, you know how great you have it.
But for the rest of you–keep reading, and we’ll get to just why these small towns made our list.
For more reading on the North Star State check out:
- Best Places To Live In Minnesota
- Cheapest Places To Live In Minnesota
- Most Dangerous Cities In Minnesota
The 15 Best Small Towns In Minnesota For 2025
1. Wayzata

/10
Population: 4,363
Median Income: $125,344 (13th Best)
Median Home Value: $1,047,400 (1st Best)
Unemployment Rate: 1.4%
2. Deephaven
/10
Population: 3,835
Median Income: $175,441 (3rd Best)
Median Home Value: $854,000 (3rd Best)
Unemployment Rate: 1.5%
3. Elko New Market
/10
Population: 4,915
Median Income: $147,381 (6th Best)
Median Home Value: $407,400 (21st Best)
Unemployment Rate: 0.6%
4. St. Bonifacius

/10
Population: 1,982
Median Income: $116,500 (20th Best)
Median Home Value: $342,400 (28th Best)
Unemployment Rate: 1.8%
5. Oronoco
/10
Population: 1,665
Median Income: $146,875 (8th Best)
Median Home Value: $468,700 (16th Best)
Unemployment Rate: 1.6%
6. Circle Pines

/10
Population: 4,980
Median Income: $96,477 (43rd Best)
Median Home Value: $277,300 (51st Best)
Unemployment Rate: 3.1%
7. Independence
/10
Population: 3,695
Median Income: $194,205 (2nd Best)
Median Home Value: $757,800 (5th Best)
Unemployment Rate: 0.0%
8. Tonka Bay
/10
Population: 1,361
Median Income: $151,563 (4th Best)
Median Home Value: $869,900 (2nd Best)
Unemployment Rate: 9.1%
9. Proctor

/10
Population: 3,102
Median Income: $80,913 (72nd Best)
Median Home Value: $219,500 (82nd Best)
Unemployment Rate: 0.9%
10. Goodview
/10
Population: 4,104
Median Income: $75,375 (83rd Best)
Median Home Value: $215,200 (93rd Best)
Unemployment Rate: 3.6%
11. Dellwood
/10
Population: 1,145
Median Income: $208,125 (1st Best)
Median Home Value: $729,800 (6th Best)
Unemployment Rate: 1.1%
12. Centerville

/10
Population: 3,915
Median Income: $119,361 (16th Best)
Median Home Value: $364,700 (23rd Best)
Unemployment Rate: 1.7%
13. Bayport
/10
Population: 3,948
Median Income: $115,781 (23rd Best)
Median Home Value: $363,200 (24th Best)
Unemployment Rate: 2.4%
14. Hanover

/10
Population: 3,495
Median Income: $147,944 (5th Best)
Median Home Value: $421,700 (20th Best)
Unemployment Rate: 1.2%
15. Greenfield
/10
Population: 2,897
Median Income: $147,184 (7th Best)
Median Home Value: $524,300 (12th Best)
Unemployment Rate: 0.3%
Methodology: How We Determined The Coolest Towns In Minnesota
We threw a lot of criteria at this report to get the best, most complete results of the best small towns in Minnesota possible.
Using the most recent data from the Census’s 2019-2023 American Community Survey, the Bureau of Labor Statistics, and Saturday Night Science, this is the criteria we used:
- Population Density (Higher is better)
- Lowest Unemployment Rates
- Housing costs (Higher is better. More demand.)
- Adjusted Median Income (Higher is better)
- Highly Educated Adults (Higher is better)
- Insurance Rates (Higher is better)
- Commute Times (Lower is better)
We looked at places with populations lower than 5,000 people and greater than 1,000, of which there were many – 211 to be exact.
We then ranked each place in each category with scores from 1 to 211, averaged them out, and the lowest scores went to our Best Small Towns in Minnesota. Top of that list — Wayzata.
This is our tenth time ranking the best small places to live in Minnesota.
Summary: Science Can Tackle Any Issue, Even Small Ones
We said it once, and we’ll say it again — this list: it’s just science. We did the research, crunched the numbers, and it turns out these 15 small towns in Minnesota are the best in which to live.
And who can argue with that?
The best small towns in Minnesota are Wayzata, Deephaven, Elko New Market, St. Bonifacius, Oronoco, Circle Pines, Independence, Tonka Bay, Proctor, and Goodview.
If you’re curious, here are the worst small towns in Minnesota:
- Little Rock
- Sandstone
- Appleton
For more Minnesota reading, check out:
- Best Places To Raise A Family In Minnesota
- Safest Places In Minnesota
- Worst Places To Live In Minnesota
Best Small Towns In Minnesota
| Rank | City | Population | Median Income | Median Home Value | Unemployment Rate |
|---|---|---|---|---|---|
| 1 | Wayzata, MN | 4,363 | $125,344 | 1.4% | |
| 2 | Deephaven, MN | 3,835 | $175,441 | 1.5% | |
| 3 | Elko New Market, MN | 4,915 | $147,381 | 0.6% | |
| 4 | St. Bonifacius, MN | 1,982 | $116,500 | 1.8% | |
| 5 | Oronoco, MN | 1,665 | $146,875 | 1.6% | |
| 6 | Circle Pines, MN | 4,980 | $96,477 | 3.1% | |
| 7 | Independence, MN | 3,695 | $194,205 | 0.0% | |
| 8 | Tonka Bay, MN | 1,361 | $151,563 | 9.1% | |
| 9 | Proctor, MN | 3,102 | $80,913 | 0.9% | |
| 10 | Goodview, MN | 4,104 | $75,375 | 3.6% | |
| 11 | Dellwood, MN | 1,145 | $208,125 | 1.1% | |
| 12 | Centerville, MN | 3,915 | $119,361 | 1.7% | |
| 13 | Bayport, MN | 3,948 | $115,781 | 2.4% | |
| 14 | Hanover, MN | 3,495 | $147,944 | 1.2% | |
| 15 | Greenfield, MN | 2,897 | $147,184 | 0.3% | |
| 16 | Eagle Lake, MN | 3,268 | $97,161 | 4.0% | |
| 17 | Long Lake, MN | 1,710 | $95,972 | 1.8% | |
| 18 | Lonsdale, MN | 4,789 | $91,719 | 1.6% | |
| 19 | Grant, MN | 3,959 | $145,357 | 1.3% | |
| 20 | Esko, MN | 2,063 | $116,406 | 0.9% | |
| 21 | Mayer, MN | 2,501 | $120,551 | 2.9% | |
| 22 | St. Charles, MN | 4,021 | $96,544 | 2.1% | |
| 23 | Excelsior, MN | 2,359 | $108,611 | 0.0% | |
| 24 | Lakeland, MN | 1,510 | $101,339 | 4.6% | |
| 25 | Mantorville, MN | 1,003 | $117,750 | 2.4% | |
| 26 | Lauderdale, MN | 2,386 | $76,558 | 8.6% | |
| 27 | Barnesville, MN | 2,757 | $83,333 | 0.9% | |
| 28 | Pine Island, MN | 3,693 | $91,612 | 1.7% | |
| 29 | Chatfield, MN | 2,693 | $91,912 | 2.1% | |
| 30 | Scandia, MN | 3,966 | $100,179 | 1.0% | |
| 31 | Baudette, MN | 1,117 | $71,042 | 0.7% | |
| 32 | Oak Park Heights, MN | 4,782 | $84,639 | 3.2% | |
| 33 | Rockville, MN | 2,521 | $101,447 | 0.6% | |
| 34 | Lake St. Croix Beach, MN | 1,106 | $100,134 | 0.0% | |
| 35 | Maple Plain, MN | 1,889 | $93,000 | 2.1% | |
| 36 | East Gull Lake, MN | 1,173 | $128,548 | 2.9% | |
| 37 | Albany, MN | 2,800 | $75,417 | 0.0% | |
| 38 | Lake Shore, MN | 1,117 | $96,923 | 1.1% | |
| 39 | Nisswa, MN | 1,744 | $100,167 | 0.5% | |
| 40 | Cottonwood, MN | 1,120 | $90,750 | 3.6% | |
| 41 | Rice, MN | 1,998 | $103,482 | 1.8% | |
| 42 | Watertown, MN | 4,747 | $93,008 | 0.0% | |
| 43 | Madison Lake, MN | 1,178 | $84,833 | 3.9% | |
| 44 | Zumbrota, MN | 3,843 | $96,818 | 1.6% | |
| 45 | Afton, MN | 2,944 | $129,956 | 3.1% | |
| 46 | Nowthen, MN | 4,539 | $134,491 | 2.7% | |
| 47 | Lindstrom, MN | 4,933 | $99,844 | 3.3% | |
| 48 | Hawley, MN | 2,086 | $92,017 | 1.7% | |
| 49 | Janesville, MN | 2,449 | $72,120 | 4.2% | |
| 50 | St. Augusta, MN | 3,576 | $116,384 | 3.7% | |
| 51 | Dilworth, MN | 4,664 | $89,577 | 1.0% | |
| 52 | Lester Prairie, MN | 1,848 | $87,188 | 0.3% | |
| 53 | Howard Lake, MN | 1,864 | $99,464 | 0.8% | |
| 54 | Cologne, MN | 2,146 | $117,344 | 4.7% | |
| 55 | Lewiston, MN | 1,680 | $96,912 | 2.0% | |
| 56 | Grand Marais, MN | 1,700 | $73,846 | 0.6% | |
| 57 | Eyota, MN | 2,090 | $83,684 | 2.1% | |
| 58 | Rockford, MN | 4,521 | $82,228 | 1.8% | |
| 59 | Sleepy Eye, MN | 3,438 | $64,811 | 2.7% | |
| 60 | Blooming Prairie, MN | 1,977 | $63,929 | 1.2% | |
| 61 | Luverne, MN | 4,907 | $66,145 | 2.5% | |
| 62 | Richmond, MN | 1,336 | $67,381 | 1.9% | |
| 63 | Columbus, MN | 4,211 | $117,917 | 1.3% | |
| 64 | Spicer, MN | 1,222 | $76,406 | 1.9% | |
| 65 | Spring Park, MN | 1,869 | $46,860 | 6.8% | |
| 66 | Avon, MN | 1,493 | $90,987 | 2.5% | |
| 67 | Martin Lake, MN | 1,203 | $120,705 | 1.1% | |
| 68 | New London, MN | 1,156 | $66,830 | 0.2% | |
| 69 | Cold Spring, MN | 4,201 | $72,022 | 3.8% | |
| 70 | Cannon Falls, MN | 4,216 | $80,515 | 0.6% | |
| 71 | Scanlon, MN | 1,087 | $75,833 | 8.9% | |
| 72 | Dundas, MN | 1,882 | $111,250 | 11.0% | |
| 73 | Lakefield, MN | 1,652 | $62,656 | 0.5% | |
| 74 | Fulda, MN | 1,348 | $68,056 | 1.3% | |
| 75 | Lake Crystal, MN | 2,530 | $77,979 | 3.0% | |
| 76 | Paynesville, MN | 2,476 | $72,105 | 2.3% | |
| 77 | Medford, MN | 1,194 | $98,375 | 6.0% | |
| 78 | Edgerton, MN | 1,207 | $66,739 | 1.1% | |
| 79 | Montgomery, MN | 3,366 | $74,018 | 3.5% | |
| 80 | Becker, MN | 4,958 | $90,188 | 0.6% | |
| 81 | Glyndon, MN | 1,286 | $93,571 | 4.2% | |
| 82 | Cohasset, MN | 2,700 | $87,833 | 8.9% | |
| 83 | Crosslake, MN | 2,648 | $85,000 | 2.7% | |
| 84 | Elgin, MN | 1,147 | $87,000 | 4.7% | |
| 85 | Rushford, MN | 1,790 | $73,321 | 3.7% | |
| 86 | Mountain Iron, MN | 2,865 | $81,607 | 3.7% | |
| 87 | Madison, MN | 1,507 | $56,435 | 1.1% | |
| 88 | Clearwater, MN | 1,904 | $89,219 | 2.9% | |
| 89 | Osseo, MN | 2,601 | $66,875 | 6.7% | |
| 90 | Montrose, MN | 3,840 | $98,832 | 3.3% | |
| 91 | Minneota, MN | 1,531 | $72,396 | 2.6% | |
| 92 | Slayton, MN | 2,089 | $65,724 | 2.4% | |
| 93 | Wanamingo, MN | 1,185 | $85,000 | 1.7% | |
| 94 | Lexington, MN | 2,616 | $72,955 | 4.7% | |
| 95 | New Richland, MN | 1,068 | $62,841 | 2.0% | |
| 96 | Starbuck, MN | 1,307 | $60,217 | 0.6% | |
| 97 | Dodge Center, MN | 2,864 | $77,552 | 3.0% | |
| 98 | Adrian, MN | 1,288 | $74,100 | 1.7% | |
| 99 | Waverly, MN | 1,947 | $113,269 | 1.2% | |
| 100 | Breezy Point, MN | 2,647 | $85,913 | 3.4% |

