The river flows through the Canadian Shield out of Playgreen Lake at the northern tip of Lake Winnipeg, and flows through Cross Lake, Sipiwesk Lake, Split Lake, and Stephens Lake.
Since it drains Lake Winnipeg, it is the last part of the large Saskatchewan River system, as well as that of the Red River and Winnipeg River. It therefore has a flow at its mouth of 2066 m3/s.
Besides Lake Winnipeg, its primary tributaries include the Grass River, which drains a long area north of Lake Winnipeg, and the Burntwood River, which passes at Thompson, Manitoba.
The river flows into Hudson Bay at York Factory, Manitoba. Other communities upriver from there include Bird, Sundance, Long Spruce, Gillam, Split Lake, Arnot, Crosslake, and Norway House.
The lake was named by Sir Thomas Button, an English explorer who wintered at its mouth in 1612, after Robert Nelson, a ship's master who died there. The area was fought over for the fur trade, though the Hayes River, whose mouth is near the Nelson's, became the main route inland.
Today, the Nelson River's huge volume and long drop make it useful for generating hydroelectricity. This has provoked bitter polemics with the First Nations of the area, whose lands past projects have flooded and future projects threaten.