Seine beiden Quellarme East Fork Virgin (80 km) und North Fork Virgin (64 km) entspringen im Kane County des südwestlichen Utahs an der Wasserscheide zum Großen Becken. Die Quellarme durchfließen noch getrennt den Zion-Nationalpark und vereinigen sich südlich davon bei Springdale im Washington County. Dort bilden sie den Virgin River.
Der Fluss schneidet in südwestlicher Richtung im Arizona Strip durch den nordwestlichen Teil Arizonas, die Beaver Dam Mountains Wilderness, später dann die Virgin Mountains. Bei Mesquite erreicht der Fluss Nevada. Sein früherer Unterlauf wurde auf rund 50 km aufgestaut und bildet den Nordarm des Lake Mead. Heute mündet er etwa 64 km östlich von Las Vegas in den Stausee.
Der Oberlauf wurde 2009 als erster Fluss in Utah als National Wild and Scenic River ausgewiesen.[2] Damit ist ein Schutz vor Verbauung verbunden. Seit Ende 2010 koordiniert der Zion-Nationalpark ein Programm zu künftigen Naturschutzmaßnahmen und dem Umgang mit der Erholungsnutzung.[3] Ein Bericht mit möglichen Management-Alternativen wurde im Sommer 2013 vorgelegt,[4] und Anfang 2014 entschied der National Park Service, das Einzugsgebiet des Virgin Rivers im Park primär unter dem Gesichtspunkt des Schutzes der natürlichen Ressourcen zu verwalten und touristische Nutzungen dort zuzulassen, wo sie den Naturschutz nicht gefährden.[5]