Canton lies at the foot of Great Blue Hill. The Canton River flows through the center of the town, linking a chain of small lakes including Bolivar and Forge Ponds and flowing into the Neponset River. The Neponset River forms the boundary between Canton and its western neighbors: Norwood, Westwood, and Dedham. In addition to wooded land, the area includes wetlands, particularly in the eastern part along Route 138 near the Randolph and Stoughton borders, and in the western part along I-95.