The river rises close to the contour, and flows in an easterly direction though the towns of Diss, Bungay and Beccles. From its source it forms the southern boundary of Bressingham and Roydon before it reaches Diss. At Scole it is crossed by the course of a Roman road, with the modern A140 bypass just to the east. There is a weir at Billingford and Billingford Windmill is situated a little to the north of the river. Beyond Billingford Bridge the River Dove, flowing northwards from Eye, joins on the southern bank, the Mid Suffolk Footpath crosses and the river drops below the contour at another weir. It turns to the north-east to reach Brockdish and Needham before passing to the south of Harleston. There are several lakes on the south bank, the largest covering , which were once Weybread Gravel Pits, but are now used for fishing.