此时在前线的努尔哈赤对后方发生的事情毫无察觉,依旧按照之前制定的行军路线向明军逼近,郭致远原本的计划是想卡在萨尔浒之战爆发当日赶到萨尔浒,与明军主力夹击后金军,但也不知道是天意,还是历史的惯性实在太大,就在郭致远集合自新军赶往萨尔浒的路上,突遇暴雪,郭致远不得不下令停止前进。
历史的进程并没有因为郭致远抄了后金军的后路而改变,萨尔浒之战依旧在1619年(明万历四十七年)农历三月初一正式打响!
得益于杨镐这位明军主帅的“神助攻”,提前把四路明军的行军路线和出发时间都用书信告诉了努尔哈赤,加上后金对辽东地形比明军熟悉,努尔哈赤又非常重视战前侦查,后金探马神出鬼没,所以努尔哈赤对四路明军的动向了如指掌,这一战其实还没开打,明军就已经输了一大半!
而这个时候,率领西路明军主力的主将杜松又犯了急功冒进的致命错误,杜松本也算是明朝名将,历镇延绥、蓟州、辽东、山海关,威名远扬,被塞外民族称其为“杜太师”,但此次因为是四路明军分进合击,所以杜松为了抢头功,下令让部队连夜打着火把冒雪急行百余里直抵浑河岸边,到了浑河后,杜松又不听部将劝阻,反而强命渡河,因辎重渡河困难,杜松就下令留下火炮等重型火器,全军轻装渡河,渡河时,努尔哈赤于浑河上游毁坝放水,使河水陡涨,明军被水淹死者甚多,致兵伤马毙,锐气大挫。
杜松气急之下再出昏招,分兵为二,以主力驻萨尔浒附近,自率万人进攻有后金军正在修筑防御工事的吉林崖。努尔哈赤看到杜松军孤军深入,兵力分散,一面派兵增援吉林崖,一面亲率六旗兵以绝对优势兵力进攻萨尔浒的杜松军。两军交战,时过中午,天色阴晦,咫尺难辨,杜松军点燃火炬照明以便进行炮击,后金军利用杜松军点燃的火炬,由暗击明,集矢而射,杀伤甚众。努尔哈赤又趁着大雾,越过堑壕,拔掉栅寨,攻占杜军营垒,杜军主力被击溃,伤亡惨重。后金驻吉林崖的守军在援军的配合下,也打败了进攻的明军,明军西路军主将总兵杜松、保定总兵王宣、原任总兵赵梦麟,都在战斗中阵亡,明西路军全军覆没!
努尔哈赤在歼灭杜松军后,即将八旗主力转锋北上,去尚间崖方向迎击明北路军,北路军由总兵马林率领,马林是明朝名将马芳的次子,但却丝毫没有乃父之风,史书说他“雅好文学,能诗,工书,交游多名士”,身上的书生气多过武将气,此时马林已经知道得知杜松军兵败的消息,不敢前进,将军队分驻三处就地驻扎,命部将潘宗颜、龚念遂分屯大营数里之外,以成犄角之势,摆了个品字阵。
可他这个品字阵在久经沙场的努尔哈赤看来却是漏洞百出,他令大贝勒代善率八旗主力直攻尚间崖,自己亲率三千精锐朝龚念遂营最薄弱的一隅猛冲,三月初三,龚念遂营阵被破,龚念遂战死,努尔哈赤直奔尚间崖,命后金骑兵先据山巅,向下冲击,马林一时惊恐,立即命令壕内的精锐步兵出壕援助,努尔哈赤见马林营内与壕外兵汇合,又命骑兵停止攻取山上,下马徒步应战,大贝勒代善、二贝勒阿敏、三贝勒莽古尔泰各率军前后夹击,大败马林军,夺尚间崖,当时明军急发鸟枪、放巨炮,但“火未及用,刃已加颈”。
至此北路明军亦被歼,此战极为惨烈,史书记载“死者弥山谷,血流尚间崖下,水为之赤。”,就连马林的两个儿子马燃、马熠也皆战死,唯独马林这个主将“忽闻敌至,林甚恐,遂提部下兵,避其锋以去”,仅以数骑逃回开原!