It rises in two forks in northwestern South Dakota, in the Badlands of Butte and Harding Counties. The North Fork rises approximately 10 miles (16 km) northeast of Crow Buttes. The South Fork rises approximately 20 miles (32 km) west of the headwaters of the North Fork. The two forks flow ESE and unite near Zeona in southern Perkins County. The combined stream flows east, past Usta, and across the Cheyenne River Indian Reservation, past Iron Lightning, Thunder Butte, Green Grass and Whitehorse. It joins the Missouri in Lake Oahe, with the lower 25 miles (40 km) of the river forming an arm of the reservoir.