The river rises at Blaencwm, just east of Crymych. It flows northward then westward, skirting the northern slopes of the Preseli Hills.
The river is bridged by several lanes and the B4329Eglwyswrw to Crosswell road before passing beneath the A487 at Felindre Farchog. It is bridged by the B4582 in Nevern, then winds along wooded valleys until reaching its estuary at Newport, where it is bridged for the final time at Feidr Pen-y-Bont. The river discharges into the sea at Newport's old port area of Parrog, where it is possible to ford the river on foot, with caution, at low tide.