From its source in Crowsnest Lake at an elevation of about in the Canadian Rockies, Crowsnest River meanders eastward through the Municipality of Crowsnest Pass and Frank Slide. It passes into the foothills near Burmis and reaches the western margin of the Alberta plains near Lundbreck. It then joins the Oldman River Reservoir at an elevation of about .