Cannon Ball is a census-designated place on the Standing Rock Indian Reservation and in Sioux County, North Dakota, United States. It is located in the northeastern part of Sioux County, having developed at the confluence of the Cannonball River and Lake Oahe of the Missouri River. The population was 875 at the 2010 census.