Ham Lake is a city located in Anoka County, Minnesota. Ham Lake has a 2026 population of 16,905. Ham Lake is currently growing at a rate of 0.88% annually and its population has increased by 2.42% since the most recent census, which recorded a population of 16,505 in 2020.