The James River forms in the Appalachian Mountains, near Iron Gate on the border between Alleghany and Botetourt counties, from the confluence of the Cowpasture and Jackson rivers, and flows into the Chesapeake Bay at Hampton Roads.
At its mouth near Newport News Point, the Elizabeth River and the Nansemond River join the James River to form the harbor area known as Hampton Roads.