The Town Files

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).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
  1. 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 →

    Tornadoes within 10 miles of Foley by decade'501'601'703'801'90'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  2. 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 →

    Tornadoes within 10 miles of Roseau by decade'501'60'701'802'902'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  3. 23Barnesville, Minnesota

    7 tornadoes within 10 miles since 1950

    Barnesville, Minnesota
    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 →

    Tornadoes within 10 miles of Barnesville by decade3'50'60'70'80'902'002'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  4. 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 →

    Tornadoes within 10 miles of Jackson by decade'50'602'701'80'902'002'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  5. 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 →

    Tornadoes within 10 miles of Livonia by decade'50'601'701'802'902'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  6. 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 →

    Tornadoes within 10 miles of Blue Hill by decade'501'601'701'80'902'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  7. 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 →

    Tornadoes within 10 miles of Pokegama by decade'50'60'703'802'901'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  8. 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 →

    Tornadoes within 10 miles of Zimmerman by decade'50'601'701'801'902'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  9. 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 →

    Tornadoes within 10 miles of Wabasha by decade'50'60'702'802'90'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  10. 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 →

    Tornadoes within 10 miles of Cohasset by decade'50'60'702'80'90'00'102'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  11. 15Moose Lake, Minnesota

    4 tornadoes within 10 miles since 1950

    Moose Lake, Minnesota
    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 →

    Tornadoes within 10 miles of Moose Lake by decade'50'603'70'80'90'00'101'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  12. 14Proctor, Minnesota

    4 tornadoes within 10 miles since 1950

    Proctor, Minnesota
    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 →

    Tornadoes within 10 miles of Proctor by decade1'50'601'70'80'90'002'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  13. 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 →

    Tornadoes within 10 miles of Ely by decade'501'603'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  14. 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 →

    Tornadoes within 10 miles of Mora by decade1'50'60'701'80'901'001'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  15. 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 →

    Tornadoes within 10 miles of Harris by decade'50'60'701'801'90'00'101'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  16. 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 →

    Tornadoes within 10 miles of Rice Lake by decade1'501'60'70'80'90'00'101'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  17. 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 →

    Tornadoes within 10 miles of Chisholm by decade'501'601'70'80'901'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  18. 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 →

    Tornadoes within 10 miles of Mountain Iron by decade'501'601'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  19. 7Two Harbors, Minnesota

    2 tornadoes within 10 miles since 1950

    Two Harbors, Minnesota
    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 →

    Tornadoes within 10 miles of Two Harbors by decade'501'601'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  20. 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 →

    Tornadoes within 10 miles of Thomson by decade'501'601'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  21. 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 →

    Tornadoes within 10 miles of International Falls by decade1'50'601'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  22. 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 →

    Tornadoes within 10 miles of Eveleth by decade'50'601'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  23. 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 →

    Tornadoes within 10 miles of Grand Lake by decade'50'60'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  24. 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 →

    Tornadoes within 10 miles of White by decade'50'60'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.
  25. 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 →

    Tornadoes within 10 miles of Virginia by decade'50'60'70'80'90'00'10'20
    Tornado tracks within 10 miles of the town center, NOAA Storm Events 1950–2026.

More Minnesota rankings

Same ranking, other places

Methodology. We ranked 165 towns of 500–10,000 people in Minnesota (2020 Census population). Only towns better than 60% of their peers on this measure qualify, so lists can be shorter than 25. Sources: