25 Small Towns in Minnesota With the Fewest Tornadoes Since 1950
Ranked by tornadoes within 10 mi since 1950 among 165 towns of 500–10,000 people in Minnesota. #1 is Virginia, MN (0 tornadoes within 10 miles since 1950).
-
25Foley, Minnesota
7 tornadoes within 10 miles since 1950
Foley is a city of 2,711 people in Benton County, Minnesota. 7 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on June 16, 1992.
2,711 people · Benton County · median home $203,800 · income $58,833 · Jan low 3°F · 49 in snow
Full Foley, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
24Roseau, Minnesota
7 tornadoes within 10 miles since 1950
Roseau is a city of 2,744 people in Roseau County, Minnesota. 7 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on July 5, 1982.
2,744 people · Roseau County · median home $164,100 · income $60,217 · Jan low -8°F
Full Roseau, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
23Barnesville, Minnesota
7 tornadoes within 10 miles since 1950

Photo: John P Salvatore (public domain, Wikimedia Commons) Barnesville is a city of 2,759 people in Clay County, Minnesota. 7 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on June 9, 1959.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
22Jackson, Minnesota
7 tornadoes within 10 miles since 1950
Jackson is a city of 3,323 people in Jackson County, Minnesota. 7 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on August 7, 2000.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
21Livonia, Minnesota
7 tornadoes within 10 miles since 1950
Livonia is a township of 6,174 people in Sherburne County, Minnesota. 7 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an EF1 on March 6, 2017.
6,174 people · Sherburne County · median home $411,200 · income $137,000 · Jan low 4°F · 36 in snow
Full Livonia, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
20Blue Hill, Minnesota
6 tornadoes within 10 miles since 1950
Blue Hill is a township of 2,507 people in Sherburne County, Minnesota. 6 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on July 22, 1967.
2,507 people · Sherburne County · median home $373,300 · income $108,113 · Jan low 4°F · 49 in snow
Full Blue Hill, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
19Pokegama, Minnesota
6 tornadoes within 10 miles since 1950
Pokegama is a township of 2,825 people in Pine County, Minnesota. 6 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on June 18, 2001.
2,825 people · Pine County · median home $316,000 · income $77,888 · Jan low -1°F · 45 in snow
Full Pokegama, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
18Zimmerman, Minnesota
6 tornadoes within 10 miles since 1950
Zimmerman is a city of 6,189 people in Sherburne County, Minnesota. 6 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an EF1 on March 6, 2017.
6,189 people · Sherburne County · median home $323,600 · income $85,645 · Jan low 4°F · 47 in snow
Full Zimmerman, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
17Wabasha, Minnesota
5 tornadoes within 10 miles since 1950
Wabasha is a city of 2,559 people in Wabasha County, Minnesota. 5 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on September 9, 1990.
2,559 people · Wabasha County · median home $262,300 · income $64,514 · Jan low 8°F · 40 in snow
Full Wabasha, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
16Cohasset, Minnesota
4 tornadoes within 10 miles since 1950
Cohasset is a city of 2,689 people in Itasca County, Minnesota. 4 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an EF1 on May 30, 2022.
2,689 people · Itasca County · median home $330,500 · income $92,692 · Jan low -3°F · 60 in snow
Full Cohasset, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
15Moose Lake, Minnesota
4 tornadoes within 10 miles since 1950

Photo: Jakes19 (public domain, Wikimedia Commons) Moose Lake is a city of 2,789 people in Carlton County, Minnesota. 4 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on July 7, 1970.
2,789 people · Carlton County · median home $205,000 · income $64,286 · Jan low 1°F · 64 in snow
Full Moose Lake, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
14Proctor, Minnesota
4 tornadoes within 10 miles since 1950

Photo: No machine-readable author provided. Jakes19 assumed (based on copyright claims). (public domain, Wikimedia Commons) Proctor is a city of 3,120 people in St. Louis County, Minnesota. 4 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on June 12, 1976.
3,120 people · St. Louis County · median home $224,700 · income $67,377 · Jan low 1°F · 90 in snow
Full Proctor, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
13Ely, Minnesota
4 tornadoes within 10 miles since 1950
Ely is a city of 3,268 people in St. Louis County, Minnesota. 4 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on August 6, 1969.
3,268 people · St. Louis County · median home $157,300 · income $43,901 · Jan low -7°F · 65 in snow
Full Ely, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
12Mora, Minnesota
4 tornadoes within 10 miles since 1950
Mora is a city of 3,665 people in Kanabec County, Minnesota. 4 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on June 28, 1981.
3,665 people · Kanabec County · median home $171,800 · income $52,535 · Jan low 1°F · 52 in snow
Full Mora, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
11Harris, Minnesota
3 tornadoes within 10 miles since 1950
Harris is a township of 3,276 people in Itasca County, Minnesota. 3 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on September 17, 1985.
3,276 people · Itasca County · median home $301,800 · income $79,243 · Jan low -1°F · 60 in snow
Full Harris, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
10Rice Lake, Minnesota
3 tornadoes within 10 miles since 1950
Rice Lake is a city of 4,112 people in St. Louis County, Minnesota. 3 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F3 on August 6, 1969.
4,112 people · St. Louis County · median home $309,600 · income $89,663 · Jan low 2°F · 90 in snow
Full Rice Lake, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
9Chisholm, Minnesota
3 tornadoes within 10 miles since 1950
Chisholm is a city of 4,775 people in St. Louis County, Minnesota. 3 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F3 on August 6, 1969.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
8Mountain Iron, Minnesota
2 tornadoes within 10 miles since 1950
Mountain Iron is a city of 2,878 people in St. Louis County, Minnesota. 2 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F3 on August 6, 1969.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
7Two Harbors, Minnesota
2 tornadoes within 10 miles since 1950

Photo: U.S. Army Corps of Engineers, photographer not specified or unknown (public domain, Wikimedia Commons) Two Harbors is a city of 3,633 people in Lake County, Minnesota. 2 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F3 on August 6, 1969.
3,633 people · Lake County · median home $206,800 · income $65,625 · Jan low 7°F · 61 in snow
Full Two Harbors, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
6Thomson, Minnesota
2 tornadoes within 10 miles since 1950
Thomson is a township of 5,465 people in Carlton County, Minnesota. 2 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F1 on June 12, 1976.
5,465 people · Carlton County · median home $339,000 · income $119,338 · Jan low 2°F · 71 in snow
Full Thomson, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
5International Falls, Minnesota
2 tornadoes within 10 miles since 1950
International Falls is a city of 5,802 people in Koochiching County, Minnesota. 2 tornadoes since 1950 (typical Minnesota town: 14); the strongest was an F2 on September 1, 1973.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
4Eveleth, Minnesota
1 tornado within 10 miles since 1950
Eveleth is a city of 3,493 people in St. Louis County, Minnesota. 1 tornado since 1950 (typical Minnesota town: 14); the strongest was an F1 on August 25, 1974.
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
3Grand Lake, Minnesota
0 tornadoes within 10 miles since 1950
Grand Lake is a township of 2,720 people in St. Louis County, Minnesota. No tornado has been recorded within 10 miles since 1950 (typical Minnesota town: 14).
2,720 people · St. Louis County · median home $329,000 · income $100,500 · Jan low 1°F · 79 in snow
Full Grand Lake, Minnesota profile: weather, storms, schools, jobs →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
2White, Minnesota
0 tornadoes within 10 miles since 1950
White is a township of 3,136 people in St. Louis County, Minnesota. No tornado has been recorded within 10 miles since 1950 (typical Minnesota town: 14).
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026. -
1Virginia, Minnesota
0 tornadoes within 10 miles since 1950
Virginia is a city of 8,421 people in St. Louis County, Minnesota. No tornado has been recorded within 10 miles since 1950 (typical Minnesota town: 14).
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 →
Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
More Minnesota rankings
- The 25 Best Small Towns to Retire in Minnesota
- The 14 Quietest Small Towns in Minnesota
- The 25 Most Affordable 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
- 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
- 50 Small Towns in America With the Fewest Tornadoes Since 1950
- 25 Small Towns in Pennsylvania With the Fewest Tornadoes Since 1950
- 25 Small Towns in New York With the Fewest Tornadoes Since 1950
- 25 Small Towns in Michigan With the Fewest Tornadoes Since 1950
- 25 Small Towns in Texas With the Fewest Tornadoes Since 1950
- 25 Small Towns in New Jersey With the Fewest Tornadoes Since 1950
- 25 Small Towns in Florida With the Fewest Tornadoes Since 1950
- 25 Small Towns in Wisconsin With the Fewest Tornadoes Since 1950
- 25 Small Towns in Ohio With the Fewest Tornadoes Since 1950
- 25 Small Towns in Illinois With the Fewest Tornadoes Since 1950
- 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)