The river rises north of the National Park in undulating sandplain on the edge of the Yilgarn Plateau, about 300 metres above sea level, and between 50 and 100 kilometres from the coast, where much of the drainage is internal to salt lakes. Most of the upper part of the Hamersley river catchment is cleared for agriculture; overall about 20% of the catchment is cleared.
Further south the river cuts through the sandplain to bedrock as it enters the national park then winds across the plateau of soft siltstone (spongolite) towards the sea, cutting steep sided gorges en-route.
Close to the coast, the Hamersley River winds through gorges cut into faults in the hard schist and quartzite rocks of the Mount Barren Formation and drains into the Hamersley Inlet. It is believed that the bar across this inlet broke infrequently in the first part of this century, being closed for decades at a time, but in the last 20 years, six breaks have been recorded. This apparent increase in the frequency of bar opening may not be caused by higher runoff rates from farmland, since only a small part of the catchment is cleared.
The river is likely to have been saline before any clearing for agriculture, because of the contribution to flow from salt lakes in its head-waters, and because of the salt stored in the spongolite through which it flows. Salinity was probably least at times of greatest flow. Today, river salinity may have increased as a result of clearing, and sedimentation of the river and estuary may have accelerated.
Nutrient pollution is much lower in these rivers than in rivers with more extensively cleared catchments such as Gairdner and Pallinup.