松花江有南北二源,南源松花江(西流松花江),是松花江正源,发源于东北屋脊长白山主峰长白山天池,海拔高程2744m,全长795公里,流域面积78180平方公里,占松花江流域总面积的14.33%。它供给松花江39%的水量。松花江上游又有两源:南源头道江、北源二道江,均发源于长白山。两源在吉林靖宇县两江口相汇以后始称松花江。北源二道江的上源又有五道自西向东排列的白河,其中二道白河源出长白山天池,是松花江的正源。松花江上中游河谷狭窄,水量大,落差大,水力资源丰富。
北源松花江(南流松花江),即嫩江,是松花江最大支流。嫩江发源于大兴安岭伊勒呼里山,自北向南流至三岔河,全长1 379公里,流域面积28.3万平方公里,占松花江总流域面积的51.9﹪;流量占松花江干流的31﹪。嫩江发源于大兴安岭支脉伊勒呼里山中段南侧,源头称南瓮河,河源高程1030m,自河源向东南流约172km后,在第十二站林场附近与二根河会合,之后称嫩江。嫩江接纳了许多发源于大小兴安岭的支流,主要有甘河、诺敏河、雅鲁河、绰尔河、洮儿河、科洛河、讷漠尔河、乌裕尔河等,组成树枝状的水系。它在嫩江县以上河段,两岸高山陡峻,水流湍急,属于山间溪流性质河段;嫩江县以下,地势渐平;进入松嫩平原,江面逐渐开阔。