The Town Files

25 Small Towns in Minnesota With the Mildest Winters

Ranked by january average low (°f) among 165 towns of 2,500–10,000 people in Minnesota. #1 is La Crescent, MN (January lows average 11.7°F).

Map of the 25 towns12345678910111213141516171819202122232425
Numbers match the ranking.
25 Small Towns in Minnesota With the Mildest Winters1. La Crescent122. Oak Park Heights93. Bayport94. West Lakeland95. St. Paul Park96. Newport97. Arden Hills88. North Oaks89. Circle Pines810. Centerville811. Wabasha812. Windom813. Goodview814. St. Charles815. Elko New Market816. New Market817. Caledonia818. Two Harbors719. Spring Lake Park720. Corcoran721. Osseo722. Medina723. Stewartville724. Wayzata725. Marion7
  1. 25Marion, Minnesota

    January lows average 7.0°F

    4,027 people · Olmsted County · median home $416,100 · income $116,797 · Jan low 7°F · 52 in snow

  2. 24Wayzata, Minnesota

    January lows average 7.0°F

    4,434 people · Hennepin County · median home $1,153,400 · income $131,614 · Jan low 7°F · 54 in snow

  3. 23Stewartville, Minnesota

    January lows average 7.0°F

    6,687 people · Olmsted County · median home $265,300 · income $82,632 · Jan low 7°F · 53 in snow

  4. 22Medina, Minnesota

    January lows average 7.0°F

    6,837 people · Hennepin County · median home $736,700 · income $230,859 · Jan low 7°F · 45 in snow

  5. 21Osseo, Minnesota

    January lows average 7.2°F

    2,688 people · Hennepin County · median home $306,500 · income $62,119 · Jan low 7°F · 54 in snow

  6. 20Corcoran, Minnesota

    January lows average 7.2°F

    6,185 people · Hennepin County · median home $569,400 · income $133,423 · Jan low 7°F · 45 in snow

  7. 19Spring Lake Park, Minnesota

    January lows average 7.2°F

    7,188 people · Anoka County · median home $290,100 · income $90,753 · Jan low 7°F · 40 in snow

  8. 18Two Harbors, Minnesota

    January lows average 7.4°F

    3,633 people · Lake County · median home $206,800 · income $65,625 · Jan low 7°F · 61 in snow

  9. 17Caledonia, Minnesota

    January lows average 7.7°F

    2,847 people · Houston County · median home $157,900 · income $76,477 · Jan low 8°F · 45 in snow

  10. 16New Market, Minnesota

    January lows average 7.8°F

    3,525 people · Scott County · median home $595,300 · income $130,231 · Jan low 8°F · 41 in snow

  11. 15Elko New Market, Minnesota

    January lows average 7.8°F

    4,846 people · Scott County · median home $433,100 · income $152,150 · Jan low 8°F · 41 in snow

  12. 14St. Charles, Minnesota

    January lows average 7.9°F

    3,990 people · Winona County · median home $256,600 · income $96,200 · Jan low 8°F · 45 in snow

  13. 13Goodview, Minnesota

    January lows average 8.0°F

    4,158 people · Winona County · median home $254,200 · income $74,712 · Jan low 8°F · 38 in snow

  14. 12Windom, Minnesota

    January lows average 8.0°F

    4,798 people · Cottonwood County · median home $169,700 · income $74,899 · Jan low 8°F · 44 in snow

  15. 11Wabasha, Minnesota

    January lows average 8.1°F

    2,559 people · Wabasha County · median home $262,300 · income $64,514 · Jan low 8°F · 40 in snow

  16. 10Centerville, Minnesota

    January lows average 8.3°F

    3,896 people · Anoka County · median home $376,900 · income $122,541 · Jan low 8°F · 49 in snow

  17. 9Circle Pines, Minnesota

    January lows average 8.3°F

    5,025 people · Anoka County · median home $293,600 · income $101,800 · Jan low 8°F · 48 in snow

  18. 8North Oaks, Minnesota

    January lows average 8.3°F

    5,272 people · Ramsey County · median home $821,200 · income $231,742 · Jan low 8°F · 40 in snow

  19. 7Arden Hills, Minnesota

    January lows average 8.3°F

    9,939 people · Ramsey County · median home $441,900 · income $134,118 · Jan low 8°F · 40 in snow

  20. 6Newport, Minnesota

    January lows average 8.6°F

    3,797 people · Washington County · median home $378,100 · income $71,979 · Jan low 9°F · 46 in snow

  21. 5St. Paul Park, Minnesota

    January lows average 8.6°F

    5,544 people · Washington County · median home $263,500 · income $100,642 · Jan low 9°F · 46 in snow

  22. 4West Lakeland, Minnesota

    January lows average 9.1°F

    3,976 people · Washington County · median home $709,300 · income $216,310 · Jan low 9°F · 47 in snow

  23. 3Bayport, Minnesota

    January lows average 9.1°F

    4,024 people · Washington County · median home $376,900 · income $125,893 · Jan low 9°F · 47 in snow

  24. 2Oak Park Heights, Minnesota

    January lows average 9.1°F

    4,849 people · Washington County · median home $354,800 · income $82,476 · Jan low 9°F · 47 in snow

  25. 1La Crescent, Minnesota

    January lows average 11.7°F

    5,276 people · Houston County · median home $272,400 · income $85,368 · Jan low 12°F · 38 in snow

More Minnesota rankings

Same ranking, other places

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