 The town is southwest of Oneonta, the county seat, along County Road 29.According to the U.S. Census Bureau, the town of Highland Lake has a total area of , of which is land and , or 17.97%, is water.As of the census of 2000, there were 408 people, 164 households, and 129 families residing in the town.