明廷召集宣府总兵杨国柱、大同总兵王朴、密云总兵唐通,要他们各自挑选部下的精兵前往增援。他们在十四年三月同变蛟、马科、白广恩先后出关,加上吴三桂、王廷臣等共八员大将,十三万士兵,马匹四万,一起驻扎在宁远。
洪承畴主张用兵要谨慎稳重,而朝廷的意见认为这么多部队凑来粮饷也不容易,应速战速决。职方郎张若麒前来催促承畴出兵。洪承畴考虑到祖大寿被围困已很长时间了,于是决定立即援救锦州。七月二十八日,各军停驻在松山,在西北的山岗上扎了营。多次出战,始终不能解围。
洪承畴命变蛟在松山的北面、乳峰山的西面共扎下七个军营,周围环绕着长长的战壕。不久清军援军大规模的赶到,而明军运送粮草的道路又被切断。
于是明军打算突围撤退,但是王朴先趁夜逃走,唐通、马科、吴三桂、白广恩、辅明也相继逃跑了。他们从杏山往南沿着海边,东到塔山,受到清军阻击,淹死在海中的人不计其数。
变蛟、王廷臣听说失败的消息后骑马赶来松山,同洪承畴一起牢牢防守。吴三桂、王朴逃出后占据了杏山。
过了几天,想回到宁远来,走到高桥遇上了埋伏,大败而归。因损失惨重,已无援军,,此时变蛟已经抱定了必死之心,当晚他尽选军中精壮,入夜后开城直扑清军正黄旗大营,杀死率先阻挡的清佐领彰古力,试图阻击的正黄旗清军无不横尸于明军刀下。
变蛟率部在清军中纵横冲突,如入无人之境,最后选定最显眼的一片营帐冲杀过去,而当夜皇太极正在此处策划攻松山事宜。额驸多尔济率亲军前来阻击,随即被明军杀散;内大臣布延和塔瞻相继率部来战,又被击溃;皇太极的护卫们作为捍卫皇太极的最后一道防线拼死冲上,刺伤了变蛟,但明军依旧奋勇向前,势不可挡地将侍卫们砍杀殆尽。以勇毅闻名的固山额真图尔格和弟弟伊尔登、内大臣锡翰、遏必隆等清将见无法以格斗取胜,情急之下占据御营营门拼命放箭,将变蛟射伤。
此时清军已从混乱中反应过来,开始从四面八方向御营聚集,因失血过多几近昏厥的变蛟见突入内营无望,只得率军退回松山。此战后皇太极震怒,各将领皆被处分罚银,加强了御营的防御。
二月,副将夏成德做内应,松山城就此失陷。洪承畴、变蛟、王廷臣以及辽东巡抚丘民仰,总兵祖大乐,兵备道张斗、姚恭、王三祯,副将江翥、饶勋、朱文德,以及参将以下共一百多文武官员以及明兵八千余人都被俘