The headwaters of the river rise under Devils Thumb on the Mount Carbine Tableland in the Great Dividing Range. The river flows through a deeply incised valley in the Mount Lewis Forest Reserve in an easterly direction and then through the Mossman Gorge, part of the Daintree National Park, and onto the coastal plain past the township of Mossman, where the river is crossed by the Captain Cook Highway. The river eventually discharges into Trinity Bay and the Coral Sea between Newell and Cooya Beach. The river descends over its course.