金沙江从青海省玉树巴塘河口流向东南,过玉树州直门达,至真达(石渠县真达乡)入四川省石渠县境,然后介于四川省与西藏自治区两地之间奔流,经西藏江达县辖邓柯乡、川藏要塞岗托镇,过赠曲河口后,折向西南,至白玉县城西北的,又折西北,不久又复南流,至藏曲、热曲,再径直向南经巴塘(巴曲河口)、至德钦县东北入云南省境,过松麦河口、奔子栏、直至石鼓(玉龙纳西族自治县石鼓镇)止,为金沙江上段。上段河长约965公里,落差1720米,平均坡降1.78‰。

从云南省丽江纳西族自治县石鼓镇至四川省新市镇为金沙江中段,河长约1220公里。

从四川省宜宾市屏山县新市镇至宜宾市区岷江口为金沙江下段,下段河长106公里。江水过新市镇转向东流,进入四川盆地,经绥江县、屏山县、水富县、宜宾县安边镇等地。