According to the United States Census Bureau, the town has a total area of 12.7 square miles (32.9 km²), of which 12.6 square miles (32.7 km²) is land and 0.1 square mile (0.2 km²) is water.
Needham’s area is roughly in the shape of an acute, northward-pointing triangle. The Charles River forms nearly all of the southern and northeastern boundaries, the town line with Wellesley forming the third, northwestern one. In addition to Wellesley on the northwest, Needham borders Newton and the West Roxbury section of Boston on the northeast, and Dover, Westwood, and Dedham on the south. The majority of Cutler Park is in Needham and is located along the Charles River and the border with Newton and West Roxbury. Needham is elevated at sea level, but is a very hilly town.