The river rises as a stream on Gunsight Mountain in Glacier National Park and flows into Gunsight Lake, then flows into Saint Mary Lake, exits the park and flows on into Lower St. Mary Lake in the Blackfeet Indian Reservation. From the reservation, the St. Mary River flows into Alberta and into the St. Mary Reservoir. It flows into the Oldman River which eventually reaches the Saskatchewan River.