The river originates in a valley northeast of Lake Koocanusa in the Clark Range, and flows west. It then meets the Continental Divide and turns south, winding through a broad glacial valley. The river then crosses the Canada-US border into the state of Montana, where it begins to delineate the western boundary of Glacier National Park. Roughly following the inner and outer North Fork Roads and Montana Secondary Highway 486, the river winds southwest past Kintla Lake, Bowman Lake, Quartz Lake, Logging Lake, and Lake McDonald, then turns west and south into a narrower valley before joining the Middle Fork Flathead River near the southwestern entrance of the national park, several miles northeast of Columbia Falls. Less than below this confluence, the combined river joins the South Fork Flathead River, forming the main Flathead River.