圍城期間,濟爾哈朗派人成功策反了錦州城內蒙古兵將諾木齊、吳巴什等多人,並在他們的帶領下攻占了錦州外城。明軍雖然失去外城,依舊死戰多時,最終成功退守內城。
此時的清軍,不僅從蒙古購入良馬萬匹,還派掠來的漢人工匠根據從明軍那裏繳獲的紅夷大炮仿製了六十門新炮,並招募了善架雲梯登城的敢死隊千餘人,鐵了心要拿下錦州城。
崇禎十四年(1641年)五月,被包圍近半年的明將祖大壽成功派出一名通信兵,告知總督洪承疇說,城內糧食尚可支持,但喂馬豆料缺少,希望明朝援軍能及時趕到,以車營在外圍聲援;並特別叮囑說,援軍千萬不要輕易和清兵交戰。
當時,明廷命薊遼總督洪承疇領王樸、楊國柱、唐通、白廣恩、曹變蛟、馬科、王廷臣、吳三桂八位總兵,步騎共十三萬人馬,前往錦州解圍。
作為統帥,洪承疇不敢輕易冒進,一直在寧遠按兵不動,窺伺錦州勢態。而朝中,在兵部尚書陳新甲攛掇下,崇禎皇帝以兵多餉艱為由,決定速戰速決,便死催洪承疇進軍。
明廷兵部尚書陳新甲為了加強監視前線將士執行命令的力度,命令職方郎中張若麒到洪承疇行營催戰。張若麒乃一輕佻喜事之人,自認知兵,認為錦州之圍可立刻解之。不久,陳新甲又薦前綏德知縣馬紹愉為職方主事,出關讚畫軍事。這位馬主事也力讚邊兵可戰,致使崇禎皇帝心急火燎,日日催促洪承疇進兵。
洪承疇本來主張且戰且守,但皇帝下死命令催戰,便不得已提兵而前。
七月二十六日,洪承疇在寧遠誓師,率領全部明朝援軍進抵錦州城南乳峰山一帶。二十九日,洪承疇命令總兵楊國柱率領所部攻打西石門。激戰間,楊國柱中箭身亡。
雖然喪一總兵,但明軍英武,在乳峰山大挫清軍兵馬,殺得清軍幾至潰敗。
緊急關頭,清兵堅壁不出,立刻向沈陽求援。皇太極當時重病在身,聽到消息後憂憤嘔血,在急派沈陽軍馬西赴錦州的同時,他自己先率三千騎兵赴援,不顧鼻子一直淌血,晝夜兼行五百餘裏,最終抵達錦州城北的戚家堡(今遼寧淩海市齊家堡)。
到達鬆山附近後,皇太極指揮清軍趕挖三重深八尺、廣丈餘的長壕,把鬆山明軍緊緊包圍在內。
可見,皇太極整個作戰部署,依舊是“圍錦打援”戰術,但過去的重點是圍困錦州,現在的重點則是打擊明朝援軍。如此,清朝大軍一到,立刻對明軍形成了反包圍,把洪承疇率領的十三萬大軍緊緊包圍在鬆山一帶。這樣一來,錦州、鬆山、寧遠三城各自孤立,無法互相援救。
從當時戰爭形勢上看,清軍至此由被動轉為主動。
明朝總督洪承疇望見清軍環鬆山成營,心內大懼。此時的明軍,欲戰則力不支,欲守則糧已竭,隻得收縮兵力,把七營步兵回撤,背鬆山城而營,企圖趁機突破清軍的重圍。
八月二十日,明清兩軍列陣大戰。由於前期打敗過清軍多次,明軍並不怯戰。雙方接戰良久,殺傷相當,一時間未分勝負。
交戰期間,明軍囤積在筆架山的大批輜重糧草為清軍所奪,退路又被清軍截斷。至此,明將明兵的心理開始發生了變化,漸有氣挫勢窮的意思。
八月二十一日,明朝諸將開會集議,共謀對策。會議上,多數人主張先撤回寧遠就食,朝廷派去監軍的張若麒也力主此說。總督洪承疇並不主張退兵,他說,如今戰亦死,逃亦死。如果奮力一戰,或許能夠死中求生。但是,洪承疇這個以決戰來“解圍製勝”的意見,遭到一些將領反對,他們堅持要先回寧遠就食。最終,洪承疇同意率軍撤回寧遠,但為了穩妥起見,他還是把明軍分成兩路,命總兵王廷臣等人率領左路,馬科等人率領右路,在初更時分突圍南逃。
而恰恰是這個以逃跑為目的的軍事行動,嚴重動搖了明軍軍心。諸將由此各懷去誌,不再想如何和清軍激戰,而在想逃遁過程中如何保全所率部眾。
明軍商議已定,皇太極很快就得到了準確情報。他立刻進行了周密的軍事部署,嚴令諸將道:
今夜敵必遁,我左翼四旗護軍可至右翼汛地排列,右翼四旗護軍及騎兵,蒙古兵前鋒俱比翼排列,直抵海邊,各固守汛地。敵兵之遁者,有百人則以百人追之,有千人則以千人追之,如敵兵眾多,則躡後追擊,直抵塔山。(《燕行錄全集》卷24)
可見,皇太極對想要逃跑的明軍已經設下天羅地網。明軍南逃的海陸兩路,皆早為清軍封堵。當天晚上,明朝總兵王樸膽小如鼠,在全軍約定的突圍時間前忽然率領部眾先遁,致使明軍各部大亂,馬步軍卒自相蹂踐,弓甲棄置遍野。
逃跑過程中,明軍遙見火光,才知敵營在前,複又倉皇退回,正好中了清軍埋伏,遭到各路截殺。
洪承疇等人突圍未成,隻得退守鬆山城。而衝殺出去的明軍,在尖山、石灰窯一帶遭到清軍截擊,傷亡慘重。總兵吳三桂、王樸等逃入杏山;總兵馬科、李輔明(楊國柱身亡後代之)等奔入塔山;監軍張若麒、馬紹愉等由海上乘漁民的漁舟逃回寧遠;其餘明朝殘兵敗將,倉皇間奔向海邊。結果,前有大海,後有追兵,明軍慌亂之下赴海溺死者,不可勝計。
八月二十二日,皇太極親自把大營紮在鬆山城外,並指揮士兵在鬆山四麵挖出深壕。當夜,洪承疇組織明軍分道突圍,皆未成功。其間,隻有駐守乳峰山的總兵曹變蛟率部衝出重圍,這部明軍突入皇太極營陣,拚死衝殺。激戰良久,曹變蛟不敵,遭受重創後率軍退入鬆山,也有部分明軍闖出清營,逃入杏山城內。
為此,皇太極勃然大怒,下令斬殺守衛大營的門將,懲處了幾百名掉以輕心的清軍官兵,並下死令一定要把鬆山城圍死、困死。
至此,錦州、鬆山二城皆為清軍圍困。當時,明軍隻有杏山城未被清軍控製,城內收容了大批敗退的明兵。思忖久之,皇太極決定拿下杏山。他命內大臣錫翰等人率軍,一部埋伏於高橋大路,另一部埋伏於桑噶爾寨堡(大興堡),準備阻截必經此路的杏山明軍逃兵。