The river begins in Middlesex County, formed by the confluence of the Sudbury and Assabet rivers at Egg Rock, near the Concord town center. It flows generally north, from eastern Concord (along the northwestern edge of the Boston metropolitan area), joining the Merrimack River from the south on the eastern side of Lowell. It is a gently flowing stream with little variation in topography along most of its route. Its drainage basin stretches into Worcester County and includes 36 towns within Massachusetts.