Welch is a town in northern Craig County, Oklahoma, United States. The population was 619 at the 2010 census, an increase of 3.7 percent over the figure of 597 recorded in 2000. It is 8 miles south of the Kansas state line, at the intersection of state highways 2 and 10 with U.S. Highway 59.