According to the United States Census Bureau, the township had a total area of 2.791 square miles (7.231 km2), including 2.687 square miles (6.960 km2) of land and 0.104 square miles (0.271 km2) of water (3.74%) [REF].
Haddon Township borders the Camden County municipalities of Audubon, Audubon Park, Camden, Cherry Hill (water border), Collingswood, Gloucester City, Haddonfield, Mount Ephraim, and Oaklyn.