The river begins at the outlet of Merrymeeting Lake in the town of New Durham. The river flows south through a chain of ponds to the village proper of New Durham. After passing under New Hampshire Route 11, the river enters Merrymeeting Marsh and turns sharply to the northwest, the course it will take the rest of the way to its end. The river crosses a small dam at Alton and reaches Lake Winnipesaukee at the community of Alton Bay, the southernmost point on the lake.