| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| St. Paul | 1 | 305,585 | 311,156 | -0.36% | 5,880 | 52 | City |
| Lakeville | 2 | 81,280 | 70,026 | 2.54% | 2,202 | 37 | City |
| Eagan | 3 | 66,757 | 68,739 | -0.52% | 2,141 | 31 | City |
| Burnsville | 4 | 65,354 | 64,514 | 0.17% | 2,621 | 25 | City |
| Apple Valley | 5 | 55,016 | 56,269 | -0.42% | 3,261 | 17 | City |
| Inver Grove Heights | 6 | 36,984 | 35,824 | 0.3% | 1,328 | 28 | City |
| Rosemount | 7 | 33,080 | 25,785 | 3.76% | 995 | 33 | City |
| Farmington | 8 | 25,631 | 23,659 | 0.81% | 1,621 | 16 | City |
| Hastings | 9 | 22,661 | 22,156 | 0.43% | 2,189 | 10 | City |
| West St. Paul | 10 | 22,301 | 20,560 | 1.6% | 4,544 | 5 | City |
| South St. Paul | 11 | 20,507 | 20,719 | -0.12% | 3,646 | 6 | City |
| Mendota Heights | 12 | 11,427 | 11,687 | -0.42% | 1,259 | 9 | City |
| Lilydale | 13 | 838 | 874 | -0.83% | 1,515 | 1 | City |
| Hampton | 14 | 708 | 740 | -0.84% | 575 | 1 | City |
| Sunfish Lake | 15 | 521 | 525 | -0.19% | 348 | 1 | City |
| Randolph | 16 | 458 | 464 | -0.43% | 481 | 1 | City |
| Vermillion | 17 | 424 | 444 | -0.93% | 430 | 1 | City |
| Mendota | 18 | 268 | 188 | -0.37% | 1,011 | 0 | City |
| Coates | 19 | 136 | 144 | -0.73% | 91 | 1 | City |
| Miesville | 20 | 127 | 135 | -0.78% | 73 | 2 | City |
| New Trier | 21 | 80 | 84 | -1.23% | 426 | 0 | City |
St. Paul is the largest city in Dakota County, with a population of 305,585.
New Trier is the smallest city in Dakota County, with a population of 80.
There are 21 cities in Dakota County, Minnesota.