It rises in two branches, the South Skunk (the longer branch) and the North Skunk. The headwaters of the South Skunk are in Hamilton County in north central Iowa. It flows roughly due southward, to the west of Interstate 35 and passes through the city of Ames, before turning southeasterly. In Keokuk County, it is joined by the North Skunk, which has its headwaters in Marshall County. It then proceeds southeastward and flows into the Mississippi about five miles south of the city of Burlington.
Species of fish found in the Skunk River include smallmouth bass, catfish, carp, bluegill, sheephead, bullhead, and largemouth bass.