Mountain Lakes is a census-designated place in the towns of Haverhill and Bath in Grafton County, New Hampshire. It had a population of 488 at the 2010 census.
The bulk of Mountain Lakes is in the town of Haverhill, surrounding two namesake lakes. The community extends to the north into the neighboring town of Bath, as far as the Wild Ammonoosuc River and the Swiftwater Covered Bridge. New Hampshire Route 112 travels across the northern part of Mountain Lakes, connecting Woodsville to the west with Kinsman Notch and North Woodstock to the east.