Approximately 12 miles (19 kilometres) long . Rises south-west of Crowan village. Its course is west for approx 5 miles (which brings the river to within 3 miles of the south coast at Marazion on Mount's Bay). It then flows through a steep wooded valley north of the granite high ground at Trescowe Common, formerly a mining area, before turning abruptly north near the hamlet of Relubbus. It then follows a northerly course for the remaining six miles to the estuary and passes St Erth. The small river Beeble is one of its tributaries.

The estuary of the River Hayle consists of a main channel, with several other nearby tidal areas, including Lelant Saltings, Copperhouse Creek (Cornish: Est Logh, meaning eastern inlet) and Carnsew Pool (also known as Carnsew Basin).