Ham Lake is a city in Anoka County, Minnesota, United States. It is a suburb in the Minneapolis–Saint Paul metropolitan area. The population was 15,296 at the 2010 census. It is in the Anoka-Hennepin School District, one of Minnesota's largest school districts.