崇祯十三年(1640)三月,清兵至义州,谋犯锦州。总督洪承畴同辽东巡抚方一藻,以及前锋祖大寿、团练吴三桂、分练刘肇基先屯兵锦州松山以待敌,并调山海关总兵官马科率万人前往增援。五月,总督洪承畴出山海关,驻兵宁远。吴三桂、刘肇基出杏山。前锋祖大寿以及副总兵祖泽远在松、杏间遭遇清军,吴三桂被围,刘肇基率部将他救出,损失千人,而所杀伤的清军亦相当。副总兵程继儒临阵胆怯,洪承畴将其斩首,从此军士俱听命效力。
十二月,征宣府总兵杨国柱、大同总兵王朴、密云总兵唐通以及东协总兵曹变蛟、援剿总兵白广恩、山海关总兵马科、辽东总兵吴三桂、王廷臣,凡八总兵,总计兵十三万,马四万,骡一万,皆出关,隶属于洪承畴。当时清兵已下大凌河。祖大寿入锦州拒守,松山、杏山、塔山三城相与为犄角。
崇祯十四年(1641)三月,总督洪承畴、总兵曹变蛟、白广恩及吴三桂、王廷臣等至宁远。洪承畴至松山,见明军将少,兵力不足,难以防御,遂调宣府总兵杨国柱等兵。祖大寿会合诸军击清军于锦州,斩杀清兵三十六人。次日再战,清军被击退。
六月,明军与清兵战于松山石门,双方皆有伤亡,清兵虽未退,但已受挫。这时,在北京的兵部尚书陈新甲屡陈敌情,想分兵几路出战:一路出兵塔山,趋大胜堡,攻清营之西北;一路出兵杏山,抄锦昌而攻其北;一路出兵松山,渡小凌河而攻其东;又正兵出松山而攻其南。朝廷命行营将帅讨论陈新甲的意见。当时洪承畴虽然统率八镇兵马,但只有白广恩、马科、吴三桂三镇敢战,而其他可以合力;若分数路出兵,恐怕寡不敌众。因此洪承畴提出“且战且守”的战略。他说:“长久坚守松、杏,可借以作为军需物资转运之地,况且锦州守御坚固,清兵不易动摇。如果清军过了今秋还不能拿下锦州,就势穷了。这便是可守而后可战的策略。现在兵部讨‘议出战,我怎敢迁延时日?只怕到时转输粮草物资艰难,鞭长莫及。战争的胜败与国体攸关,不如稍稍等待,使清军自困,再进行攻击,才是可行之策。”崇祯帝也认为洪承畴的意见是正确的。
而陈新甲顽固坚持前议。职方郎中张若麒则浮躁而好事,见我军有几次小胜,就说锦州等地之围可以立解,崇祯帝也就命令他留在关外料理。陈新甲又写信给洪承畴说:“近接二协报告,说清兵又想入犯,如果真是这样,则关内外均会受困,势将不可支。督师出关用兵已经有一年多,花费饷银数十万两,而锦州之围未解,内地又受困。此时督师不进山海,则三协虚单,若往辽西,则宝山空虚,这怎能对得起圣上及朝中文武群臣的希望?圣上忧虑,臣僚受辱,督师清夜思之,恐怕也会不安的吧!”洪承畴既被陈新甲所激,又奉密敕恪期进兵。当时,兵部尚书陈新甲又荐前绥德知县马绍愉为兵部职方主事,出关协助谋划;张若麒、马绍愉又都说我军可战。于是洪承畴的策略被否定了。
七月,洪承畴出兵增援锦州,进抵松山。洪承畴夜见清军屯兵于乳峰山之东,遂传令明军中夜登乳峰山之西角。部署略定,清兵大骇。
八月初八日,清兵攻乳峰山西营,明军将其击退,斩六人;再攻,再击退。初九日,明军分两路攻两石门,总兵王朴战败。初十日,明军稍胜清兵,自是清兵不再出战,等待援军的到来。马绍愉向洪承畴建议,宜乘明军之锐出奇制故,这样可以鼓舞锦州明军的士气,不要待援军来后再行动。洪承畴不采纳。长岭山自塔山迤逦至锦州,延至松山城的右边。大同监军张斗对洪承畴说:“应该在长岭山驻守一军,以防止清军抄我后路。”洪承畴亦不听,并且十分生气地说:“我一个十二年的老督师,还不如一个书生知道的多?”
八月辛酉(十八日),清军以三千骑来支援,首先占据长岭山,声言要围困松山城。明军以为诈,按兵不动。清兵则在松山城外挖壕沟,壕沟深八尺,宽一丈多,并且挖了三重壕沟,明军反而被困于内。清兵围困松山城,目的在于分散明军兵力,断明军粮道。乳峰山在锦州城外,而松山又在乳峰外,明军粮饷缺乏,洪承畴对部下说:“清兵新旧相替,轮番攻守。因此我军出战,当速战速决。要命令本部将士奋力战斗。我将亲执桴鼓参战,解围在此一举。”然而诸将却计议回宁远就饷。黄昏,兵部职方郎中张若麒给洪承畴写信说:“我军连胜,今日再战,亦不为难。但松山之粮不足三日,且敌不但围困锦州,而今又围困松山,各帅既有回宁远支粮再战的意见,应该答应。”于是,诸将意见不一,有的主张明日战,有的主张今夕战,有的则主张何时战以后再计议。洪承畴听后,说道:“往时诸君都矢志报效朝廷,现在正是时候。眼下我们粮尽被围,应将当前形势明告吏卒:战也是死,不战也是死;若战或可侥幸于万一。明日望诸君尽力一战。”于是决定明日出战。
但总兵王朴怯战,率先逃走。于是各总兵也争先恐后逃奔。逃走问望见火光,便认为是清军阵地,不敢向前,又转身返回,结果遭清兵伏击,大溃。当夜,吴三桂、王朴、唐通、马科、白广恩、李辅明被清军掩杀,死者不可胜数。总督洪承畴、辽东巡抚丘民仰率将吏入松山城。洪承畴当夜留兵三分之一守城,其余突围冲阵,明军有小胜。清军殊死战,明军又不得入城,移屯海岸,又被海潮所淹,仅两百余人脱险,而只有白广恩回到松山。兵部职方郎中张若麒、兵部职方主事马绍愉获渔船,逃到宁远,上奏朝廷说洪承畴失策,造成此败,企图以此自免,此是后话。
此时曹变蛟于当放夜弃乳峰山寨,率领所部马步兵袭击清兵镶黄旗和正黄旗,直攻清军老营,未能取胜。变蛟也奔还松山。至此,洪承畴的十三万大军,死了五万多人,诸将又纷纷溃遁,只有曹变蛟、王廷臣等率残兵一万余人相从。
清兵围困松山后,清太宗皇太极致书洪承畴劝降。承畴不答。
九月,洪承畴谋突围,悉出城中步骑兵,夜攻镶黄旗骁骑营。及正白、镶白两旗汉军营,皆败,死伤千人。十二月,闻关内援兵三千赴援将至,遂出兵六千,夜攻正红旗护军营、正黄旗蒙古营,结果被矢、炮击毙四百二十人,溃走杏山,半路又遭伏击,死者五百七十余人。败退城下的明兵,又因门闭不得入,三千多人投降了清军。而关内赴援之兵竟驻宁远,不敢前往松山等被围之城。此时的洪承畴欲战则力不支,欲守则兵寡粮尽,欲遁不敢成队而出,只能与曹变蛟、王延臣、巡抚丘民仰等坐困围城之中。
崇祯十五年(1642)二月,松山城守副将夏成德使其弟景海与清兵交通,并以其子舒为质,相约为内应,于是清兵夜间从夏成德所守城堞处树云梯登城,松山城破。洪承畴、丘民仰、曹变蛟、王廷臣等被俘。当时是二月壬戌(二十二日)。皇太极命杀丘民仰、曹变蛟、王廷臣,而押送洪承畴到盛京。
洪承畴被俘之初,与其他被俘明朝将领一样,拒不剃头投降,“只求速死”。当满族官员发怒,举刀要砍他时,洪承畴曾“延颈承刃,终始不屈”。他还曾下决心绝食,“米浆不入口者七日”。
当时的皇太极极雄心勃勃,对于招降明朝官吏十分注意,而明降将都察院参政张存仁对此更为热心。四月一日,张存仁上奏皇太极说:“洪承畴这样的人,不宜久加拘禁,应令其剃发,降于我朝,然后酌加应用。这样做的结果,会使明朝皇帝闻之寒心,其朝廷大臣闻之夺气。”他还建议,对投降后的洪承畴“恩养不宜薄”。皇太极采纳了张存仁的意见,对洪承畴积极做诱降工作。
皇太极曾多次派不同身份的官员去说服洪承畴降清,但无结果。皇太极甚感焦急与不安。有一天,皇太极派范文程去说降。范文程来到洪承畴的住所后,先不说降清的事,只是随意漫谈,内容很广,涉及古今人事。谈话问,忽然从梁间落下一些灰尘,掉在洪承畴的衣服上,洪承畴便赶快将其拂去。这次谈话结束后,范文程立刻向皇太极报告说:“洪承畴绝不想死。他对衣服尚且这样珍惜,何况生命呢?”皇太极听了十分高兴,于是,便亲自去看望洪承畴,并把自己身着的貂裘脱下送给他,说:“先生难道不冷吗?”洪承畴对着貂裘凝神很久,十分感叹地说:“真命世之主也!”立即跪地叩头,向皇太极请降。
洪承畴的投降,使得皇太极异常高兴,立即对其大加赏赐,并设酒陈百戏庆祝。当时,也有一些缺乏远见的清朝将领对此不理解,非常不满地说:“皇上为什么如此重待洪承畴呢?”皇太极反问他们说:“我们栉风沐雨几十年,究竟为了什么呢?”诸将回答说:“为得中原。”皇太极笑着说:“譬如走路,我们都是盲人,现在得到了一位向导,怎能不令人高兴呢?”