According to the United States Census Bureau, the town has a total area of 30.6 square miles (79 km2). 30.3 square miles (78 km2) of it is land and 0.2 square miles (0.52 km2) of it is water, comprising 0.79% of the town. The town is bordered by Deerfield to the north, Hooksett (in Merrimack County) to the west, Auburn and Chester to the south, and Raymond to the east. Notable villages in the town include Candia proper, near the town's northern border; Candia Four Corners, closer to the geographic center of the town; and East Candia, near the town's eastern border.
Candia is drained by the North Branch River, a tributary of the Lamprey River. The town lies almost fully within the Piscataqua River watershed except for the western and southern edges, which are in the Merrimack River watershed. The highest point in town is Hall Mountain, at 941 feet (287 m) above sea level, located in Bear Brook State Park in the northwestern part of the town. (The main entrance to the state park and most of its facilities are in neighboring Allenstown.)
Candia is bisected by two state highways, Route 43 running north from Route 101 through the Candia Four Corners to the Deerfield town line, and Route 27, running east/west from the Hooksett town line through the Candia Four Corners to the Raymond town line. Route 101 is the major east/west thoroughfare through southern New Hampshire and travels through the south part of Candia.