It rises in the Cascades in southeastern Linn County in the Willamette National Forest. It flows briefly north, then generally west through the mountains, past Cascadia to Green Peter Reservoir, where the Middle Santiam River joins it from the northeast as an arm of the reservoir. It then flows out of Green Peter Reservoir and only a handful of miles before entering Foster Reservoir. Downstream from the reservoir it flows west past Sweet Home, where it turns northwest, passing through the foothills into the Willamette Valley near Lebanon. It joins the North Santiam River from the southeast to form the Santiam approximately 15 mi (24 km) northeast of Lebanon. The confluence is approximately 10 miles (16 km) east of the confluence of the Santiam with the Willamette River.