Castle Valley is a town in Grand County, Utah, United States. The population was 319 at the 2010 census. The town is approximately 16 miles northeast of Moab, near State Route 128. The community was named for castle-like rock formations near the town site.