The headwaters of the river rise south of Mount Angelo, approximately 25 km south of Halls Creek. The river then flows in a westerly direction through Oollumarra Soak and discharges into Margaret River, of which it is a tributary.
Mary River has nine tributaries, including Laura River, Willy Willy Creek, Garden Creek, Hangman Creek and Janet Creek.
The river was named in 1884 when the area was explored by a government survey party led by Harry Johnston, who named it after his mother, Mary Johnston (1822–1893), a daughter of Marshall Waller Clifton and Elinor Bell.