The North Fork Solomon River originates in the High Plains of northwest Kansas. Its source lies in west-central Thomas County roughly southeast of Brewster, Kansas. From there, it flows generally east-northeast into the Smoky Hills region of north-central Kansas. Southeast of Phillipsburg, Kansas, the river joins its tributary Bow Creek to feed Kirwin Reservoir. From the reservoir's dam, the river flows east, then turns southeast near Gaylord, Kansas. Immediately south of Cawker City in northwestern Mitchell County, the North Fork joins the South Fork Solomon River to feed Waconda Lake.