|Location||Cheshire County, New Hampshire, United States|
|Primary outflows||tributary of Otter Brook|
|Basin countries||United States|
|Max. length||1.0 mi (1.6 km)|
|Max. width||0.4 mi (0.64 km)|
|Surface area||233 acres (94 ha)|
|Average depth||50 ft (15 m)|
|Max. depth||115 ft (35 m)|
|Surface elevation||1,276 ft (389 m)|
|Settlements||Nelson (village of Munsonville); Stoddard|
Granite Lake is a 233-acre (0.9 km2) lake located in Cheshire County in southwestern New Hampshire, United States, in the towns of Nelson and Stoddard. The village of Munsonville, within the town of Nelson, is located at the outlet. The lake flows into a tributary of Otter Brook, which flows southwest to the Ashuelot River in Keene and thence to the Connecticut River. Granite Lake Dam regulates the lake's water level.
New Hampshire Route 9 formerly passed along the southern shore of the lake as it traveled from Keene to Hillsborough, but since the 1990s has bypassed the lake on higher ground to the south. The old routing is now the local Granite Lake Road.
The lake is classified as a coldwater fishery, with observed species including rainbow trout, lake trout, smallmouth bass, rock bass, chain pickerel, and horned pout.