努爾哈赤趁明朝不備,就攻取了撫順等一些地區,連敗明軍。這下子,連終日縱情聲色,萬事不理的明神宗也著了慌。在次年二月調集了近9萬兵力,連同13000多朝鮮兵,共計約有10余人,號稱47萬大軍,由遼東經略(重要軍事任務時特設的官職,掌管一路或數路軍、政事務,職位高于總督)楊鎬指揮,企圖一舉將后金殲滅。
明政府的軍隊兵分四路,第一路以山海關總兵杜松為指揮,由撫順東向蘇子河谷打去,第二路由遼東總兵李如柏指揮,由清河地區出鴉鶻關(遼寧省新賓滿族自治縣葦子峪鎮境內)向東,第三路由開原總兵馬林指揮,同時有朝鮮兵13000多人,出寬奠口由南向北。經略楊鎬坐鎮沈陽為總指揮,四路兵馬都共同攻向赫圖阿拉(遼寧省新賓滿族自治縣永陵鎮)。其中,南路劉廷的部隊最先行動,而杜松帶領的第一路為全軍的主力,共有兵力30000余人。并且,這一路軍隊的行軍路途比較平坦易行,兩天之內就可以到達赫圖阿拉,對后金的威脅最大。而其他三路山高水險,行進困難,一時不容易到達。明軍的這種分兵合擊,聲東擊西的戰略卻讓努爾哈赤有所洞察。他在分析軍事形勢時就對各個部的將領們說:“明軍要讓我們首先見到南路有兵,誘我南下。而他們由撫順這一方向來的那部兵必是重兵,應當立即投入戰斗,打敗這一路軍,那么其他路的兵就不用害怕了。”
努爾哈赤抓住了明軍兵力分散的弱點,采取了憑你幾路來,我只一路去的戰略,對于最先告急的南路,并不增援,僅是用原來駐守在那里的500人進行抵御,而集中了八旗中所有的軍隊和部落將領的親兵10萬人左右,向西去抵抗兵馬最多、威脅最大的杜松那路明軍。
明朝將領杜松雖然勇猛,但是沒有什么謀略,他輕敵冒進,想占頭功。杜松一路很快開抵薩爾滸。這里隔著渾河是界凡(建州女真的“界藩寨” ),當時,后金征調的15000個役夫正在構筑界凡城,僅有400人的軍隊在守衛。杜松想趁后金大軍還沒有到來之前,迅速占領界凡,于是,就輜重和20000人馬留在薩爾滸,自己帶領10000精銳人馬強渡渾河,進攻界凡。其實,這里的后金軍隊早有準備,預先就把渾河的上游堵起來了,等到明軍剛渡河一半時,就決堵放流,把明軍淹死了大半,而且渾河兩岸就這樣失去了聯系和相互支援。努爾哈赤率軍趕到后,卻不用主力部隊去解界凡之圍,而只是派了兩旗的兵力去救援界凡,卻用了六旗的兵力去包抄明軍的后路,出其不意地去攻打杜松在薩爾滸的大營。
金兵突然而降,薩爾滸的明軍倉皇失措,匆忙之間列陣對戰。這一天,黑霧彌天,幾步遠的距離都分辨不出來是什么東西,明軍沒有辦法,只得燃起火炬,這正好又為金兵提供了方便。金兵從暗處向明軍射擊,雨點般的箭向明軍射來。這時,明軍處在明處卻看不清金兵在什么地方,把銃炮都放到附近的柳林中去了。這時,金兵趁勢發起進攻,頃刻之間,明軍的防線就此突破,潰不成軍。金兵狠追猛殺,明軍的尸體布滿山野,鮮血染紅了薩爾滸山岡。
在薩爾滸的明軍被殲滅后,金兵馬不停蹄地渡過渾河,從背后包抄攻打界凡的杜松軍隊,攻城的明軍聽說大營被攻破,軍心動搖,士氣瓦解,再加上腹背受敵,很快就被金兵殲滅了,杜松等將領也都力戰身死。那天晚上,馬林率領的第三路軍開至薩爾滸三四十里的尚間崖(在薩爾滸東北),聽到杜松全軍覆沒的消息,當時就嚇破了膽。第二天,努爾哈赤率領軍隊來進攻,明軍還沒有交戰,就嚇得大敗而逃,不過只有馬林自己逃脫了,其余的兵士全被殲滅。
由南北上的第四路劉廷的軍隊,這時還不知道薩爾滸的明軍戰敗的情況,努爾哈赤就命令那些戰敗的明軍士兵作為偽裝,并拿著杜松的令箭,到劉廷的軍營中假報軍情,說杜松的軍隊已經大獲全勝,引誘劉廷的部隊深入,劉廷信以為真,立即引軍深入,這樣就中了金兵的埋伏。結果,劉廷陣中戰死,第四路明軍也就迅速被殲滅了。
經略楊鎬聞報三路兵馬都戰敗,就急忙下令第二路的李如柏退兵,這樣,這路軍兵才得以全師而還。
這一仗,明朝損失士兵46000多人,將領300余員。
薩爾滸戰役之后,后金和明王朝的力量對比發生了重大變化。隨著后金軍事力量的增強,努爾哈赤的政治野心和掠奪財富的欲望也就越來越大了。后金開始有防御轉入進攻,而明朝的力量大衰,不得不從進攻轉入防御了。