CashFlowRE
Sign in Sign up

Best Places to Invest in Minnesota Real Estate

352 Minnesota markets ranked from our sold history and per-listing investment modeling. Tap a city for its cap rate, cash flow and price detail β€” then sign up to see the actual cash-flowing listings.

CityMedian priceCap rateCash flow/mo Appreciation YoYSold (12mo)
Minneapolis $357,200 3.1% $-908 +2.2% 4,288
Rochester $348,900 3.5% $-954 +2.3% 1,861
Maple Grove $430,000 3.4% $-1,130 +1.0% 1,111
Duluth $290,000 4.9% $-341 +5.2% 1,067
Lakeville $499,900 3.2% $-1,430 -0.5% 1,066
Woodbury $463,645 3.5% $-1,235 +0.0% 1,040
Plymouth $499,900 3.1% $-1,347 +0.5% 1,039
Bloomington $375,000 3.5% $-834 +2.6% 1,004
Blaine $385,000 3.9% $-725 -0.5% 892
Brooklyn Park $350,000 3.3% $-841 +1.1% 834
St. Cloud $265,000 3.9% $-561 -0.7% 830
Edina $700,000 1.8% $-2,545 +1.1% 774
Minnetonka $500,000 2.5% $-1,449 +2.7% 750
St. Louis Park $394,625 3.1% $-868 -1.7% 744
Eden Prairie $486,500 2.6% $-1,535 +1.2% 741
Coon Rapids $342,000 3.8% $-673 +3.5% 675
Cottage Grove $410,000 3.5% $-1,073 +3.6% 670
Shakopee $421,250 3.3% $-1,164 -1.5% 664
Apple Valley $380,000 4.0% $-636 -1.1% 656
Moorhead $275,000 3.7% $-662 +3.5% 617
Eagan $410,000 3.3% $-1,012 +1.5% 609
Rosemount $449,990 3.5% $-1,183 +0.0% 583
Mankato $298,000 3.4% $-838 +1.9% 489
Ramsey $379,900 3.3% $-967 -0.8% 471
St. Michael $435,000 3.2% $-1,228 -3.2% 466
Prior Lake $485,000 2.3% $-2,214 +1.5% 449
Farmington $399,000 3.8% $-908 -1.0% 445
Elk River $394,900 3.4% $-1,099 +2.2% 439
Alexandria $331,500 2.5% $-1,200 +2.3% 418
Otsego $455,000 4.0% $-886 -1.6% 404
Chaska $469,950 2.5% $-1,944 +3.3% 404
Austin $200,000 4.5% $-350 +3.9% 389
Roseville $375,000 3.1% $-888 +2.8% 389
Owatonna $282,000 3.2% $-801 +2.6% 381
White Bear Lake $355,000 3.6% $-784 +3.0% 381
Inver Grove Heights $385,000 3.2% $-936 +2.6% 380
Chanhassen $550,500 2.4% $-2,390 +0.9% 380
Richfield $354,000 3.6% $-802 +3.3% 377
Hugo $440,990 3.1% $-1,318 +3.4% 367
Rogers $450,000 3.6% $-993 -0.5% 365
Bemidji $270,300 3.6% $-718 +2.9% 365
Shoreview $403,000 3.8% $-814 -1.4% 354
Lino Lakes $460,000 3.1% $-1,355 +2.0% 331
Andover $440,000 3.6% $-1,076 -1.0% 331
Detroit Lakes $348,000 5.2% $-406 +4.3% 321
Crystal $325,000 3.9% $-594 +0.5% 318
Hastings $342,000 2.9% $-1,103 +5.5% 312
North Branch $359,900 2.9% $-1,013 -2.8% 308
Cambridge $334,950 3.0% $-1,025 -0.8% 308
Faribault $290,000 4.1% $-549 +0.6% 304
Winona $230,000 3.9% $-584 +4.8% 304
Buffalo $360,000 2.8% $-1,079 -1.1% 301
Forest Lake $419,900 3.0% $-1,199 +2.1% 301
Stillwater $450,000 3.4% $-1,208 +3.4% 293
Big Lake $355,000 4.2% $-664 -0.8% 293
Golden Valley $465,000 2.8% $-1,174 +5.3% 291
Albert Lea $183,000 4.0% $-366 +3.4% 285
Fridley $337,000 3.1% $-856 +2.2% 285
Champlin $375,000 3.9% $-764 +0.5% 284
Brooklyn Center $310,000 5.0% $-334 +2.9% 274
Brainerd $251,000 3.1% $-843 -1.2% 269
Red Wing $276,500 3.6% $-647 -4.2% 267
Waconia $470,000 3.0% $-1,426 +1.5% 265
Victoria $635,000 2.5% $-2,069 +1.6% 265
Willmar $260,000 3.2% $-701 +0.7% 264
Columbia Heights $308,000 3.9% $-574 +3.9% 259
Sartell $325,000 3.0% $-1,120 +1.3% 250
Monticello $340,000 3.5% $-875 +2.2% 246
New Hope $360,000 3.7% $-703 -0.3% 245
Hibbing $163,000 6.4% $13 +5.5% 245
New Brighton $395,000 2.7% $-1,173 +0.0% 242
Northfield $368,500 2.6% $-1,205 +3.7% 240
West St. Paul $350,000 3.4% $-838 +1.9% 240
South St. Paul $302,000 4.0% $-575 +3.3% 240
Hutchinson $270,000 3.1% $-718 +1.3% 239
Zimmerman $370,000 3.2% $-1,107 +4.6% 235
Dayton $600,000 2.5% $-1,943 +0.0% 229
Lake Elmo $649,950 2.7% $-2,130 +6.1% 228
Fergus Falls $251,000 3.3% $-782 +7.8% 228
Baxter $349,000 2.7% $-1,208 +4.7% 226
Ham Lake $530,998 2.9% $-1,792 +5.1% 216
St. Francis $359,900 2.6% $-1,286 +3.6% 215
Savage $433,000 2.8% $-1,665 -1.9% 215
North Mankato $325,500 3.3% $-780 +0.0% 212
East Bethel $400,000 3.2% $-1,126 -2.6% 207
Minnetrista $699,900 1.2% $-3,450 -0.9% 207
Delano $445,000 1.7% $-1,970 -0.5% 207
Vadnais Heights $390,000 4.0% $-733 -2.0% 207
Corcoran $600,140 2.2% $-2,027 -3.5% 205
Princeton $350,000 3.4% $-909 -1.5% 201
Breezy Point $326,000 1.1% $-2,033 +1.6% 200
Robbinsdale $330,500 3.8% $-671 +5.1% 192
Isanti $335,000 2.5% $-1,193 +2.5% 191
Cloquet $270,000 3.1% $-683 +8.6% 187
Anoka $344,000 3.9% $-674 +5.2% 185
Burnsville $395,000 3.3% $-988 -2.5% 185
Park Rapids $262,450 2.0% $-965 +10.6% 178
Sauk Rapids $290,000 2.7% $-1,085 +0.7% 178
Grand Rapids $279,000 3.0% $-889 +2.3% 174
Hermantown $449,900 2.1% $-1,985 +10.2% 170
Mound $425,000 1.8% $-1,277 +8.9% 166
Little Falls $229,000 2.2% $-1,032 +4.6% 161
New Ulm $247,000 4.3% $-490 +6.3% 159
Mora $269,900 4.0% $-536 -2.5% 155
Elko New Market $465,245 2.3% $-1,641 +0.8% 154
Hopkins $380,000 3.3% $-803 +9.1% 152
Medina $966,480 1.0% $-4,407 -0.8% 151
New Prague $400,000 3.8% $-807 -3.7% 150
Fairmont $182,295 3.4% $-495 -3.0% 150
Mendota Heights $549,999 1.3% $-2,859 +7.5% 149
Orono $1,110,000 0.4% $-7,489 +7.2% 148
Byron $360,000 2.5% $-1,370 +2.5% 147
Belle Plaine $352,500 2.1% $-1,166 +1.5% 147
Two Harbors $261,250 3.0% $-817 -9.6% 146
Crosslake $480,000 1.4% $-2,184 -0.3% 145
Becker $380,000 3.0% $-1,089 +2.7% 144
Marshall $230,000 4.2% $-461 +5.3% 144
Aitkin $300,000 3.1% $-866 +15.6% 139
Jordan $441,500 1.9% $-1,628 -4.1% 137
Annandale $380,000 2.6% $-1,156 +0.5% 135
Little Canada $354,500 3.5% $-832 +7.4% 128
Shorewood $923,000 0.8% $-5,796 +9.3% 128
Waseca $237,000 3.0% $-553 +7.7% 125
Virginia $131,500 7.5% $145 -4.7% 123
St. Peter $297,000 3.2% $-923 +3.8% 123
Lake City $301,150 0.3% $-1,957 +2.0% 122
Mahtomedi $479,500 1.8% $-1,904 +3.2% 122
Kasson $346,000 1.1% $-1,759 +5.8% 122
Wyoming $431,188 3.0% $-1,259 -1.4% 118
Thief River Falls $164,200 5.5% $-124 -5.2% 118
Oak Grove $497,000 2.8% $-1,602 -5.0% 116
East Gull Lake $369,500 0.6% $-3,140 +18.2% 115
North Oaks $825,750 -0.0% $-5,235 -4.4% 115
Lindstrom $372,450 3.4% $-965 -1.8% 112
Worthington $270,000 2.1% $-1,099 -2.6% 109
Pine City $295,000 1.4% $-1,161 -3.0% 107
Pelican Rapids $330,000 1.4% $-2,711 -20.2% 107
Lonsdale $384,000 2.4% $-1,344 +2.8% 107
Carver $529,900 4.0% $-1,067 +0.2% 105
Nevis $347,000 1.8% $-1,528 -1.2% 104
Garrison $200,000 1.3% $-1,467 +16.2% 103
Pine Island $335,000 2.2% $-1,279 +9.5% 102
Walker $349,995 0.8% $-2,326 +1.1% 101
St. Anthony $346,250 3.0% $-1,100 -1.5% 100
St. Joseph $300,950 2.9% $-842 +2.5% 100
Litchfield $230,000 2.7% $-828 +1.3% 98
Isle $228,000 1.5% $-1,080 -12.1% 97
Nisswa $499,950 0.2% $-2,554 +6.0% 94
Montrose $321,500 3.9% $-732 -2.6% 94
Chisago City $448,125 2.1% $-1,545 +4.4% 92
Mounds View $349,800 3.1% $-985 +1.0% 92
Sauk Centre $288,500 3.7% $-566 -2.2% 91
Staples $209,900 4.4% $-373 +2.3% 91
East Grand Forks $279,500 3.1% $-801 +29.0% 90
Albertville $369,900 4.9% $-330 -2.9% 87
Cohasset $396,000 1.1% $-2,185 +2.7% 87
Rice Lake $377,500 2.5% $-1,788 +10.7% 86
Milaca $255,250 2.8% $-879 +1.7% 86
Arden Hills $465,000 3.0% $-1,300 +3.6% 85
Clear Lake $338,003 1.9% $-1,322 -10.0% 83
Cannon Falls $365,000 2.1% $-1,558 +0.0% 83
Longville $304,000 1.1% $-1,186 -6.1% 83
Cold Spring $341,250 2.1% $-1,293 +1.4% 82
Crookston $177,450 4.2% $-344 +7.6% 82
Ely $230,250 4.0% $-396 +10.6% 82
Wayzata $1,235,000 0.1% $-11,392 +4.4% 81
Oak Park Heights $444,000 2.8% $-1,237 -3.8% 80
Credit River $799,995 1.0% $-5,465 +5.5% 80
Lake Shore $599,950 -0.2% $-3,471 -1.8% 80
Montevideo $175,000 3.6% $-477 +0.0% 79
Stewartville $292,500 2.5% $-1,101 +6.3% 78
Emily $342,500 1.0% $-2,500 +4.0% 78
Rice $309,900 0.8% $-1,362 +0.6% 77
Motley $269,700 2.1% $-982 -9.9% 77
St. Augusta $381,750 1.9% $-1,274 +0.8% 76
Waite Park $250,000 4.2% $-402 -3.6% 75
Hanover $464,950 4.1% $-820 +7.8% 74
La Crescent $310,000 1.7% $-1,394 +2.3% 73
Watertown $375,000 3.5% $-946 -0.3% 73
Montgomery $298,500 3.2% $-855 +2.3% 72
Glencoe $261,400 1.7% $-1,232 +0.3% 72
Scandia $559,000 1.0% $-3,101 +16.1% 72
Harris $379,900 2.5% $-1,303 +5.8% 71
Spicer $360,000 0.6% $-1,891 +2.9% 71
Cook $180,000 0.7% $-2,121 -9.3% 71
Redwood Falls $195,500 6.0% $-62 -2.8% 70
Perham $336,250 6.0% $-85 +15.4% 70
Spring Lake Park $328,250 2.9% $-947 +3.2% 70
Battle Lake $390,000 1.1% $-2,090 -2.5% 69
Paynesville $269,000 2.8% $-891 -6.8% 69
Dassel $340,000 2.5% $-1,050 -4.3% 68
New London $302,000 1.7% $-1,374 -14.9% 68
Hinckley $222,450 2.2% $-1,185 -2.5% 68
Morris $192,500 3.4% $-509 +0.9% 68
McGregor $325,750 0.8% $-1,472 +22.0% 68
Afton $710,000 0.8% $-3,982 -13.1% 67
Grand Marais $395,000 1.6% $-2,028 +11.4% 67
International Falls $121,000 5.4% $-126 -1.0% 67
Tower $235,000 0.4% $-2,083 +13.2% 67
Vergas $269,900 1.0% $-1,931 -12.6% 67
Waverly $355,000 3.3% $-928 -0.7% 67
Rock Creek $322,500 1.7% $-1,549 -4.6% 66
Ottertail $354,000 1.0% $-1,690 +7.9% 66
Osakis $241,000 2.3% $-1,001 -8.6% 66
Pine River $195,000 2.4% $-732 -6.9% 66
Garfield $347,500 1.6% $-1,815 +21.6% 64
Vineland $178,500 2.3% $-1,231 +13.4% 64
Greenfield $737,500 1.1% $-1,958 +11.3% 63
St. Paul Park $319,000 5.7% $-176 +8.6% 63
Richmond $345,000 2.8% $-1,278 +1.3% 63
Dilworth $272,500 4.0% $-582 +2.3% 63
Chatfield $275,000 1.1% $-2,164 +1.8% 63
Wadena $182,450 3.3% $-541 -4.3% 62
Eveleth $136,000 7.0% $86 +0.5% 62
Wilton $272,450 3.6% $-550 +6.6% 62
Braham $237,930 2.9% $-749 +9.8% 61
Norwood Young America $329,900 3.3% $-717 -6.7% 61
Windom $169,000 3.0% $-608 +3.7% 61
Rockford $357,850 2.7% $-1,177 +5.6% 60
Luverne $240,000 3.6% $-575 +6.5% 59
Chisholm $127,000 5.7% $-83 +10.9% 59
Wabasha $285,500 1.4% $-1,242 +3.3% 59
Maple Lake $318,500 1.9% $-1,368 +15.0% 58
Cokato $290,000 3.0% $-827 +4.5% 58
Clearwater $334,750 2.2% $-1,130 +3.3% 58
Avon $302,950 1.4% $-1,448 -5.9% 58
Baudette $170,000 4.1% $-335 -24.5% 58
Miltona $335,000 1.3% $-1,946 +19.8% 58
Pequot Lakes $331,500 0.3% $-2,374 +31.5% 58
Glenwood $267,500 4.6% $-444 +0.7% 58
Zumbrota $360,000 2.0% $-1,353 +8.3% 57
Cass Lake $195,000 2.3% $-1,086 -10.3% 57
Blue Earth $170,000 3.7% $-321 -3.4% 57
Barnesville $250,500 2.6% $-713 +8.5% 56
Maplewood $300,000 3.5% $-802 -1.6% 56
Roseau $207,950 3.5% $-391 +5.5% 56
Long Prairie $209,000 3.1% $-575 +16.0% 55
Centerville $450,000 4.1% $-806 +2.0% 55
Rush City $300,000 9.0% $595 +3.0% 55
Biwabik $162,000 2.6% $-702 -13.1% 54
Madison Lake $359,000 1.2% $-2,085 +4.4% 54
Martin Lake $387,500 2.2% $-1,467 +6.0% 53
Babbitt $148,000 2.8% $-694 +3.0% 53
Taconite $319,000 2.1% $-1,567 +6.6% 53
Chickamaw Beach $263,950 1.5% $-1,750 +5.7% 52
Lutsen $442,500 -0.3% $-2,218 +13.7% 52
Coleraine $254,500 2.6% $-906 +16.3% 52
St. James $161,300 3.5% $-431 +3.3% 52
Esko $380,900 1.9% $-1,645 +2.2% 51
Independence $840,000 0.2% $-6,822 -2.4% 51
Foley $290,000 2.9% $-835 -6.4% 51
Circle Pines $301,500 3.7% $-642 -12.0% 50
Elbow Lake $199,500 4.1% $-367 +26.9% 50
Arlington $244,900 2.7% $-731 +7.5% 49
Waterville $267,100 2.0% $-1,294 -10.2% 49
Howard Lake $325,000 2.5% $-1,060 +8.7% 49
Merrifield $298,500 1.1% $-2,355 -6.9% 48
Eagle Lake $338,425 3.7% $-790 +5.5% 48
Aurora $145,950 4.3% $-260 -10.4% 48
Menahga $218,000 3.2% $-560 -9.3% 48
Oronoco $522,450 0.9% $-2,912 +21.2% 48
Sandstone $195,000 4.2% $-409 -9.9% 48
St. Charles $279,900 1.7% $-1,621 +3.3% 47
Deephaven $1,100,000 0.3% $-10,332 +12.5% 47
Hill City $180,000 2.7% $-674 +2.9% 47
Benson $165,000 5.8% $-56 +1.0% 47
Nashwauk $147,500 2.5% $-1,018 -19.6% 46
Warroad $249,250 3.2% $-484 +7.1% 46
Lake Crystal $237,500 4.2% $-454 -5.6% 46
Pipestone $145,000 2.3% $-839 -3.4% 45
Kenyon $264,900 4.4% $-442 +8.9% 45
Taylors Falls $310,000 1.5% $-1,733 +0.5% 45
Lake Park $329,750 3.0% $-799 +1.2% 44
Hoyt Lakes $152,450 5.9% $-57 -2.1% 44
Palisade $202,450 2.1% $-1,126 -1.8% 44
Rockville $412,500 1.1% $-1,830 -11.8% 44
Silver Bay $152,500 4.7% $-231 -1.8% 44
Caledonia $213,500 3.3% $-610 +10.3% 44
Blooming Prairie $230,500 3.5% $-582 +0.3% 44
Backus $210,000 4.5% $-438 -18.2% 43
Onamia $225,000 1.5% $-1,177 -20.9% 43
Deerwood $315,000 1.1% $-1,526 -23.0% 43
Whipholt $365,000 0.1% $-2,743 +13.7% 43
Plainview $266,000 2.9% $-755 +3.0% 43
Pillager $232,000 5.0% $-304 -5.6% 42
Crosby $207,500 2.6% $-809 +0.6% 42
Dundas $397,500 2.1% $-1,868 -8.4% 42
Grant $750,000 1.4% $-3,627 -10.1% 42
Breckenridge $228,500 2.8% $-704 +5.4% 41
Gilbert $162,000 5.1% $-161 -4.5% 41
Proctor $265,000 3.3% $-682 +16.7% 41
Winsted $285,000 2.4% $-1,150 +0.9% 41
Le Center $270,000 3.2% $-621 -0.6% 41
Bayport $610,000 1.8% $-2,322 +9.4% 41
Ogilvie $295,000 3.3% $-755 +2.3% 41
Hawley $280,000 1.3% $-1,918 +15.2% 41
Dodge Center $270,000 3.2% $-694 +6.9% 41
Slayton $165,000 5.2% $-157 -1.1% 40
Mayer $382,525 2.8% $-1,069 -0.5% 40
Dent $372,500 1.4% $-1,833 -11.3% 40
Starbuck $339,900 1.6% $-1,368 +26.9% 39
Columbus $474,900 1.7% $-2,211 -2.1% 39
Foreston $320,000 2.5% $-848 +2.9% 39
Randall $70,000 2.7% $-580 -22.3% 39
Center City $420,000 2.7% $-1,491 -24.5% 39
Janesville $260,000 1.2% $-1,571 -2.0% 39
Cologne $429,950 1.8% $-1,591 -1.9% 38
Mountain Iron $230,000 3.4% $-774 +0.7% 38
Wanamingo $305,000 1.0% $-1,538 +15.4% 37
Falcon Heights $397,500 3.1% $-1,134 +0.0% 36
Orr $120,500 0.9% $-1,998 +32.6% 36
Audubon $399,500 1.1% $-2,614 -11.5% 36
New York Mills $220,700 4.0% $-385 +33.3% 36
Granite Falls $163,500 4.2% $-329 -19.8% 36
Remer $265,000 3.4% $-517 +9.6% 36
Excelsior $697,200 0.3% $-8,482 -12.2% 36
Marine on St. Croix $632,500 1.0% $-3,297 -18.3% 36
Frazee $290,000 2.2% $-1,096 -4.9% 35
Newport $335,000 2.9% $-1,495 +11.6% 35
Atwater $290,000 1.8% $-1,181 -12.9% 35
Knife River $480,000 2.0% $-2,212 +2.6% 35
Akeley $227,000 1.6% $-1,372 +12.8% 35
Fairhaven $317,500 1.6% $-1,319 -21.1% 34
Quamba $254,500 3.1% $-745 +29.3% 34
Spring Valley $201,750 4.0% $-440 -2.8% 34
Bigfork $277,500 3.5% $-609 +1.7% 34
Moose Lake $328,500 0.8% $-1,964 +8.3% 34
Richville $337,500 1.4% $-2,362 -12.2% 34
Elysian $350,550 1.0% $-1,752 +10.8% 34
Gaylord $231,500 2.1% $-924 -5.3% 34
Winton $315,000 2.0% $-1,318 +12.7% 33
Goodview $292,500 3.8% $-649 -11.3% 32
Deer River $187,500 2.9% $-564 -1.0% 32
Tracy $167,500 5.5% $-108 -0.6% 31
The Lakes $240,000 1.1% $-2,493 -11.5% 31
Laporte $272,500 2.4% $-1,016 +32.0% 31
Silver Creek $503,000 2.1% $-1,939 -15.1% 31
Fulda $195,000 3.0% $-663 +7.0% 31
Preston $172,000 2.5% $-706 +4.9% 31
Sturgeon Lake $170,000 3.1% $-539 +8.0% 31
Nowthen $569,900 2.4% $-2,097 -1.8% 31
Silver Lake $247,500 3.8% $-559 +22.1% 30
Lester Prairie $300,000 2.0% $-1,195 +1.3% 30
Long Lake $498,000 2.2% $-1,144 -8.4% 30
Underwood $205,500 2.4% $-1,319 +4.3% 30
Warsaw $514,500 1.4% $-2,679 +7.3% 30
Melrose $235,023 3.2% $-809 -6.1% 30
Kimball $304,750 1.6% $-1,385 +2.3% 30
Bagley $217,450 4.3% $-329 +6.6% 30
Sleepy Eye $176,250 4.3% $-304 +7.7% 30
Browerville $182,500 2.1% $-806 +19.8% 30
St. Bonifacius $345,500 2.2% $-1,377 +9.3% 30

Ready to act on these markets? Create a free account to screen Minnesota listings by cash flow, or see the national market data.