Iron Gate is a town in eastern Alleghany County, Virginia, United States. The population was 324 at the 2020 census. The town is located along U.S. Route 220, near Clifton Forge.