努爾哈赤說:“大明軍隊確實來攻打我們了,我們南方已有駐兵五百人,就用這些軍隊抵御南方的敵軍吧。這是明軍聲東擊西的戰術,他們故意讓南方的軍隊先讓我們知道,這是要引誘我們的軍隊開向南方,他們的主力大軍一定會從西邊撫順關的方向來進攻的。我們要先打他從西邊來的軍隊。”
努爾哈赤命令諸王貝勒和大臣領城中兵出發向西迎敵。
軍隊正行進的時候,哨探又來向努爾哈赤報告說:“東南方向從清河城那條路上又有明軍隊兵來了。”
努爾哈赤說:“清河城方向這一路雖然有軍隊,但這條路地形狹隘險峻,他們不可能很快趕到,就讓他們自己來吧,我們先到撫順關迎擊西面的敵軍。”
1619年(明萬歷四十七年,后金天命四年)三月初一,杜松軍突出冒進,已進至薩爾滸,分兵為二,以主力駐薩爾滸附近,自率萬人進攻吉林崖。
努爾哈赤看到杜松軍孤軍深入,兵力分散,一面派兵增援吉林崖,一面親率六旗兵4萬5千人進攻薩爾滸的杜松軍。
次日,兩軍交戰,將過中午,天色陰晦,咫尺難辨,杜松軍點燃火炬照明以便進行炮擊,后金軍利用杜松軍點燃的火炬,由暗擊明,集矢而射,殺傷甚眾。
此時,努爾哈赤乘著大霧,越過塹壕,拔掉柵寨,攻占杜軍營壘,杜軍主力被擊潰,傷亡甚眾。
后金駐吉林崖的守軍在援軍的配合下,也打敗了進攻之敵,明軍西路軍主將總兵杜松、保定總兵王宣、原任總兵趙夢麟,都在戰斗中陣亡。明西路軍全軍覆沒。
明軍主力被殲后,南北兩路明軍形孤勢單,處境不利。
1619年(明萬歷四十七年,后金天命四年)三月初一的夜里,明朝北路軍由馬林率領進至尚間崖(在薩爾滸東北),得知杜松軍戰敗,不敢前進,將軍隊分駐三處就地防御。
馬林為保存實力,環營挖掘三層塹壕,將火器部隊列于壕外,騎兵繼后。又命部將潘宗顏、龔念遂各率萬人,分屯大營數里之外,以成犄角之勢,并環列戰車以阻擋敵騎兵馳突。
努爾哈赤在殲滅杜松軍后,即將八旗主力轉鋒北上,去尚間崖方向迎擊馬林軍。
1619年(明萬歷四十七年,后金天命四年)三月初二早晨,馬林軍隊剛要撥起扎營的器物準備向南進軍,發現努爾哈赤率領的軍隊到了,就率軍隊重回宿營地重新扎營布列戰陣,陣列方形,營地四面昨夜挖有三道壕溝,壕溝外排列大炮,放炮的兵皆徒步站立炮后,大炮的外層,又密密排列一層騎兵,騎兵的前面再排列火槍隊,其余眾兵都下馬,進入三層壕內的營中列陣。
后金軍先派一部騎兵橫沖明將龔念遂營陣,接著以步兵正面沖擊,攻破明軍車陣,擊敗龔軍。到中午12點的時候,努爾哈赤趕到了馬林所扎大營的地方。
馬林營地的東邊有一山。
努爾哈赤說:“我們的士兵應當先占東邊山上的高地,從山上居高臨下的向西方山下的馬林軍的軍營沖擊,我們就能把馬林的軍隊打敗”。
于是努爾哈赤率親衛軍及二旗眾兵全體離營向東,來到東山南坡山腳下,準備從南坡登山。
這時馬林與后金軍對峙一上午后,見后金的援兵已到,在帥旗下聚集起來的兵加起來也不過二旗再加四五千人,他認為后金的兵總數也就這些了,加上后金兵離營移軍向東,隊不成列,于是馬林決定主動出擊決戰,他命令營內士兵出營與營外的騎兵和火槍隊匯合,大軍主動向位于明營東邊的后金軍隊發起攻擊。
努爾哈赤在山上向西看,見大明營內軍兵與營外壕外的軍兵匯合,努爾哈赤就說:“這樣子是明軍要來主動攻擊我們了,不用登山了,可以下馬跟他們徒步作戰。”