努尔哈赤趁明朝不备,就攻取了抚顺等一些地区,连败明军。这下子,连终日纵情声色,万事不理的明神宗也着了慌。在次年二月调集了近9万兵力,连同13000多朝鲜兵,共计约有10余人,号称47万大军,由辽东经略(重要军事任务时特设的官职,掌管一路或数路军、政事务,职位高于总督)杨镐指挥,企图一举将后金歼灭。
明政府的军队兵分四路,第一路以山海关总兵杜松为指挥,由抚顺东向苏子河谷打去,第二路由辽东总兵李如柏指挥,由清河地区出鸦鹘关(辽宁省新宾满族自治县苇子峪镇境内)向东,第三路由开原总兵马林指挥,同时有朝鲜兵13000多人,出宽奠口由南向北。经略杨镐坐镇沈阳为总指挥,四路兵马都共同攻向赫图阿拉(辽宁省新宾满族自治县永陵镇)。其中,南路刘廷的部队最先行动,而杜松带领的第一路为全军的主力,共有兵力30000余人。并且,这一路军队的行军路途比较平坦易行,两天之内就可以到达赫图阿拉,对后金的威胁最大。而其他三路山高水险,行进困难,一时不容易到达。明军的这种分兵合击,声东击西的战略却让努尔哈赤有所洞察。他在分析军事形势时就对各个部的将领们说:“明军要让我们首先见到南路有兵,诱我南下。而他们由抚顺这一方向来的那部兵必是重兵,应当立即投入战斗,打败这一路军,那么其他路的兵就不用害怕了。”
努尔哈赤抓住了明军兵力分散的弱点,采取了凭你几路来,我只一路去的战略,对于最先告急的南路,并不增援,仅是用原来驻守在那里的500人进行抵御,而集中了八旗中所有的军队和部落将领的亲兵10万人左右,向西去抵抗兵马最多、威胁最大的杜松那路明军。
明朝将领杜松虽然勇猛,但是没有什么谋略,他轻敌冒进,想占头功。杜松一路很快开抵萨尔浒。这里隔着浑河是界凡(建州女真的“界藩寨” ),当时,后金征调的15000个役夫正在构筑界凡城,仅有400人的军队在守卫。杜松想趁后金大军还没有到来之前,迅速占领界凡,于是,就辎重和20000人马留在萨尔浒,自己带领10000精锐人马强渡浑河,进攻界凡。其实,这里的后金军队早有准备,预先就把浑河的上游堵起来了,等到明军刚渡河一半时,就决堵放流,把明军淹死了大半,而且浑河两岸就这样失去了联系和相互支援。努尔哈赤率军赶到后,却不用主力部队去解界凡之围,而只是派了两旗的兵力去救援界凡,却用了六旗的兵力去包抄明军的后路,出其不意地去攻打杜松在萨尔浒的大营。
金兵突然而降,萨尔浒的明军仓皇失措,匆忙之间列阵对战。这一天,黑雾弥天,几步远的距离都分辨不出来是什么东西,明军没有办法,只得燃起火炬,这正好又为金兵提供了方便。金兵从暗处向明军射击,雨点般的箭向明军射来。这时,明军处在明处却看不清金兵在什么地方,把铳炮都放到附近的柳林中去了。这时,金兵趁势发起进攻,顷刻之间,明军的防线就此突破,溃不成军。金兵狠追猛杀,明军的尸体布满山野,鲜血染红了萨尔浒山冈。
在萨尔浒的明军被歼灭后,金兵马不停蹄地渡过浑河,从背后包抄攻打界凡的杜松军队,攻城的明军听说大营被攻破,军心动摇,士气瓦解,再加上腹背受敌,很快就被金兵歼灭了,杜松等将领也都力战身死。那天晚上,马林率领的第三路军开至萨尔浒三四十里的尚间崖(在萨尔浒东北),听到杜松全军覆没的消息,当时就吓破了胆。第二天,努尔哈赤率领军队来进攻,明军还没有交战,就吓得大败而逃,不过只有马林自己逃脱了,其余的兵士全被歼灭。
由南北上的第四路刘廷的军队,这时还不知道萨尔浒的明军战败的情况,努尔哈赤就命令那些战败的明军士兵作为伪装,并拿着杜松的令箭,到刘廷的军营中假报军情,说杜松的军队已经大获全胜,引诱刘廷的部队深入,刘廷信以为真,立即引军深入,这样就中了金兵的埋伏。结果,刘廷阵中战死,第四路明军也就迅速被歼灭了。
经略杨镐闻报三路兵马都战败,就急忙下令第二路的李如柏退兵,这样,这路军兵才得以全师而还。
这一仗,明朝损失士兵46000多人,将领300余员。
萨尔浒战役之后,后金和明王朝的力量对比发生了重大变化。随着后金军事力量的增强,努尔哈赤的政治野心和掠夺财富的欲望也就越来越大了。后金开始有防御转入进攻,而明朝的力量大衰,不得不从进攻转入防御了。