Ham Lake is a city located in Anoka County, Minnesota, USA.
According to the United States Census Bureau, the city has a total area of 92.5 km2 (35.7 mi2). 89.2 km2 (34.5 mi2) of it is land and 3.2 km2 (1.2 mi2) of it is water. The total area is 3.50% water.