松花江有南北两源:
1、北源嫩江是比较大的河流。它发源于大兴安岭伊勒呼里山,自北向南流至三岔河,全长1379公里,流量占松花江干流的百分之31。嫩江接纳了许多发源于大小兴安岭的支流,主要有甘河、诺敏河、雅鲁河、绰尔河、洮儿河、科洛河、讷漠尔河、乌裕尔河等,组成树枝状的水系。它在嫩江县以上河段,两岸高山陡峻,水流湍急,属于山间溪流性质河段。嫩江县以下,地势渐平,进入松嫩平原,江面逐渐开阔。
2、南源第二松花江是松花江的正源,它发源于长白山的白头山,全长795公里。它供给松花江百分之39的水量。第二松花江上游又有两源:南源头道江、北源二道江,均发源于白头山。两源在吉林靖宇县两江口相汇以后始称第二松花江。北源二道江的上源又有五道自西向东排列的白河,其中二道白河源出白头山天池,是第二松花江的正源。第二松花江上中游河谷狭窄,水量大,落差大,水力资源丰富。两源在黑龙江省和吉林省交界的三岔河汇合以后始称松花江。