El río James se forma en los montes Apalaches, cerca de Iron Gate, en la frontera entre los condados de Alleghany y Botetourt, desde la confluencia de los ríos Cowpasture () y Jackson (), y desemboca en la bahía de Chesapeake en Hampton Roads.