西路:即撫順路,以山海關總兵官杜鬆為主將,率領三萬人擔任主攻,由沈陽出撫順關,沿渾河右岸(北岸),入蘇子河穀,從西麵進攻赫圖阿拉。
南路:即清河路,以遼東總兵官李如柏為主將,率軍二萬餘人,從清河出鴉鶻關,從南麵進攻赫圖阿拉。
北路:即開原路,以原任總兵官馬林為主將,率領所部及葉赫兵共二萬餘人,由靖安堡出,經開原、鐵嶺,入渾河上遊地區,從北麵進攻赫圖阿拉。
東路:即寬甸路,以總兵官劉鋌為主將,率官兵一萬餘人,會合朝鮮軍隊共約二萬餘人,經寬甸沿董家江(今吉林渾江)北上,由南麵進攻赫圖阿拉。
遼陽和廣寧為明朝遼東根本重地,派總兵官秉忠率兵一部駐守遼陽,為機動部隊;總兵官李光榮率軍一部戍守廣寧,保障後方交通。並以管屯都司王紹勳總管督運各路糧草。
楊鎬坐鎮沈陽,指揮全局。此人既庸懦昏聵,又驕躁寡謀。原定二十一日出師,十六日天降大雪,跋涉不前,複改於二十五日進攻。杜鬆因大雪迷路,請緩師期。劉鋌也以未諳地形,再請緩師。楊鎬勃然大怒道:“國家養士,正為今日,若複臨機推阻,有軍法從事耳!”④楊鎬隻圖僥幸取勝,置天時、地利、人心、敵情於不顧,限令明軍四路兵馬於三月初二會攻赫圖阿拉。但是,四路明軍出動之前,“師期已泄”⑤,作戰企圖已為後金細作偵知,因而努爾哈赤得以從容作出對策。
努爾哈赤探知明軍四路進擊的軍事部署後,認為明軍“南北二路皆山險,且遠敵不能即至,宜先敗其中路之兵”⑥,並決定采取“憑爾幾路來,我隻一路去”⑦的集中兵力、逐路擊破的作戰方針。努爾哈赤率八旗精兵六萬人,再加上其它兵力共約十萬人,集結於赫圖阿拉附近,準備迎擊來勢洶洶的明軍。二月二十九日,後金軍發現劉鋌軍先頭部隊從寬甸北上,後又偵知杜鬆軍出撫順關東進。努爾哈赤判斷:“明使我先見南路有兵者,誘我兵而南也;其由撫順所西來者,必大兵也,急宜拒戰。破此,則他路兵不足患矣。”⑧因此,隻派五百人防守自寬甸來攻的劉綎先頭部隊,集中主力迎戰杜鬆軍。杜鬆是一個剛愎自用、有勇無謀的將官,他懸軍深入,輕敵冒進。為了搶頭功,他命令軍卒不待舟筏,策馬渡河,渾河流急,明軍淹死的不計其數。三月初一,他馳至薩爾滸。其時,北路馬林軍始由開原出鐵嶺,葉赫軍尚未行動,後金軍砍樹塞道阻滯,尚在途中;南路李如柏軍,雖由清河堡出發,但行動遲緩,二月二十九日則剛出鴉鶻關;東路劉鋌軍雖於二月二十五日出寬甸,但因在涼馬佃會朝鮮軍,尚在馬家口一帶行進中。隻有杜鬆所部“違期先時出一口”⑨,已進至薩爾滸。杜鬆分兵為二,以主力駐薩爾滸山下;自率萬人進抵吉林崖(在薩爾滸東北),攻打界凡(在赫圖阿拉西北鐵背山上)城。
努爾哈赤命代善、皇太極率少數兵力援界凡,親統八旗鐵軍衝向薩爾滸。明軍用戰車列陣,放火銃,發巨炮,炸彈爆發,血肉橫飛。後金鐵甲騎兵奮力衝擊,在呐喊聲中,狂撲明軍薩爾滸大營。鐵騎集中一點,攻陷方陣,突破戰線,縱橫馳突,一鼓作氣,攻下了薩爾滸明軍大營。緊接著,後金軍又馳赴界凡。當時進攻界凡的杜鬆軍,聽到薩爾滸大營失陷的敗報,軍心已動搖,又遇到從吉林崖山下壓過來的後金軍,士氣更加低落。杜鬆率官兵奮戰數十餘陣,企圖占據山頭,忽然大風揚塵,對麵不見人,明軍打起火把,從明擊暗,銃炮打人叢林,對後金軍殺傷甚微;後金軍從暗擊明,發無不中。後金軍以數倍於杜鬆軍的兵力四麵圍攻,杜鬆左右衝殺,矢盡力竭,落馬而死,他率領的軍隊全軍覆沒。《清太祖高皇帝實錄》記說:“明總兵杜鬆、王宣、趙夢麟等皆沒於陣,橫血流成渠,其旗幟、器械及士卒死者,蔽渾河而下,如流澌焉。”杜鬆貪功冒進,輕騎深入,不諳地形,舍長取短,終於遭致慘敗,是必然的。