The Dan Hole River begins at the outlet of Dan Hole Pond on the southern edge of the Ossipee Mountains. The river promptly enters Little Dan Hole Pond, then exits from the pond's northern end. The river flows east, past Moultonville, reaching the Beech River just south of the village of Center Ossipee.