从一六四五年起,大西政权所面临的局势就逐渐恶化起来。四川各地的反革命势力嚣张一时,大西政权控制的地区逐渐缩小。就全国而言,李自成部义军建立的大顺政权被清军摧毁了,南明弘光政权也跟着覆亡,民族矛盾已经上升成为国内的主要矛盾。
清政府为了实现其征服全国的野心,在东南和湖广地区大举用兵,企图镇压大顺军余部和其他汉族士民的抗清斗争。而对于张献忠则一再派人进行招降,妄图不费一兵一卒便掠定四川。顺治二年春,清陕西总督孟乔芳致书大西川北巡抚吴宇英,“令其说张献忠投降”。同年秋,清湖广等地总督佟养和也派人“持书与告示往四川招抚张献忠”。张献忠对清政府的招降嗤之以鼻,根本不予理会。当他发现吴宇英在广元暗自组织反革命乡勇,准备叛投清方时,便断然派兵平叛,处死了这个反复无常的官僚。
于是,清廷改而采用军事征讨和政治招降双管齐下的方针。顺治二年十一月二十日,多尔衮任命驻防西安内大臣何洛会为定西大将军,加派左翼固山额真巴颜、右翼固山额真墨尔根、侍卫李国翰等率兵前往陕西,“会剿四川,征讨叛逆”。同一天,又颁布了招抚张献忠的诏书和告四川文武各官兵民人等的谕旨。诏书说:“张献忠前此扰乱,皆明朝之事。因远在一隅,未闻朕抚绥招徕之旨,是以归顺稽迟。朕洞见此情,故于遣发大军之前,特先遣官赍诏招谕。……张献忠如审识天时,率众来归,自当优加擢叙,世世子孙永享富贵,所部将领头目兵丁人等,各照次第升赏,倘迟延观望,不早迎降,大军既至,悔之无及。”谕旨说:“凡文武官员兵民人等,不论原属流贼或为流贼逼勒投降者,若能归服我朝,仍准录用。倘抗拒不服,置之重典,妻子为奴。开诚投顺者加升一级,恩及子孙。有擒献贼渠将佐者,论功优升,永同带砺……。”
由于当时在陕西汉中等地的孙守法、赵荣贵、贺珍等部仍在坚持抗清斗争,牵制了何洛会等统率的清军,使他们无暇进剿大西军。顺治三年正月,清廷又命肃亲王豪格为靖远大将军,同多罗衍禧郡王罗洛宏、多罗贝勒尼堪、固山贝子吞齐喀、满达海等,统率官兵前往四川征讨张献忠。清军在陕西先后击破孙守法、赵荣贵、贺珍等部。大顺军刘体纯部在这年正月,虽曾一度由河南邓州攻入陕西商州,终因兵力不敌败回湖广。豪格等人在陕西粗定之后,就着手准备入川。
就在这个关键时候,大西军内部发生了刘进忠叛变事件。刘进忠原是大西军骁骑营都督,据说其部下四川籍将卒较多。在阶级斗争日益激化的形势下,他的一名部将叛投了南明。刘进忠惧怕受到张献忠的严厉惩罚,竟然率部仓皇出逃,先南奔重庆投靠明将曾英;不久又率部北移,同摇黄十三家中的袁韬部合营,自称新天王。大约在顺治三年十月间,他又派部将吴之茂往陕西向豪格投降,接引清军入川。
此时,张献忠正处于内外交困、举棋不定的境地。八月,他下令放火焚燬成都,带领大军转移,打算丢掉四川另寻出路。九月初八日,到达顺庆(今南充市)。次日,攻克叛乱分子谯应瑞、冯有庆等人窃据的顺庆府城。在这里屯驻二十余日后,又引兵移往西充县境。
十一月,清军准备就绪,迅速入川。二十六日在南部县境从大西军俘虏口中,得悉张献忠的大营驻扎在西充县凤凰山下。豪格密令昂邦章京鳌拜、固山额真准塔等率领精锐充为先锋,自己则带着满、蒙军队随后进发。清军“衔枚疾驱,一昼夜行三百里”,于二十七日抵达西充凤凰山。张献忠当时拥众数十万,不但对于清军的行动一无所知。而且直到清军迫近,侦探一再报告清军已经到来时,张献忠还是不相信。等到清军已经近在眼前,张献忠才带着少数随从出营观察,仍然没有作任何战斗的准备。双方隔着一条名叫太阳溪的水沟相遇。张献忠被清兵箭中左胸,当即坠马而死。关于张献忠牺牲的情况,当时正在大西军“皇营”(当作“御营”)中的外国传教士有如下一段叙述:
“时在西历一千六百四十七年正月初三日,二位司铎到皇营欲见献忠……。突有侦探队某兵飞奔入营向长官报告,谓在营前高山上见有满洲兵四五人,各骑骏马,由山谷中迎面而来。献忠闻报,即时震怒,欲将报信之兵正法。幸被人讨保,未能加罪。献忠未能深信满兵竟敢至此。殊知满兵大队已匿营前大山反面矣。献忠闻警不疑,以为谣传。于是提讯昨日某逃官之夫人,历半小时。又有探兵入营告急,谓满兵马队五人已到营外对面高山矣。献忠闻警,不问详细,是否果系满兵马队,随即骑马出营。未穿盔甲,亦未携长枪,除短矛外别无他物,同小卒七八名,并太监一人,奔出营外探听满兵虚实。至一小岗上,正探看之际,突然一箭飞来,正中献忠肩下,由左旁射入,直透其心,顿时倒地,鲜血长流。献忠在血上乱滚,痛极而亡。太监见献忠已亡,先奔回大营,高声叫道:大王已被射死!声震各营,一时大乱。各营军队不击自散,各奔一方,各逃性命。”
清军乘势冲杀,大西军由于变生意外,毫无战斗准备,被打得大败,牺牲战士数万名,损失骡马一万二千余匹。其余战士在孙可望、刘文秀、李定国、艾能奇等大将的率领下急速南撤,经重庆、遵义转入贵州,后来在云南建立了著名的四将军政权。在联合南明永历朝廷共同抗清的斗争中,大西军余部仍然发挥了主导作用。
张献忠牺牲了,在他领导下经过浴血奋战建立起来的大西农民革命政权也被摧毁了。但是,他所开创的事业却被大西军将士继承了下来。以李定国为代表的大西军余部,在长达近二十年的抗清斗争中立下了丰功伟绩,用鲜血写下了可歌可泣的壮烈诗篇。
从表面上看,张献忠的牺牲和四川的被清军占领,带有很大的偶然性,可是这种偶然之中却寓着必然。大西政权失败的原因就在于:
一、张献忠领导的大西农民军,毕竟是封建社会中的农民革命武装,他们不可能超越时代的限制掌握科学的阶级分析方法,因而在地主阶级策动的叛乱面前,用地域概念代替了阶级区分,把四川官绅的敌对行为,误认为是“蜀民”的忘恩负义,不加区别地滥加剿杀,结果造成了自己的孤立。在张献忠施政的后期,出现了一种恶性循环:他越是感到孤立,就越加变得猜疑暴戾;而越是猜疑暴戾又更导致他不分良莠的屠杀,使自己更加孤立。自古以来,任何一支队伍想要战胜敌人,必需有两个基本条件,即自身的团结一致和争取最低限度的同盟者。大西军在其后期基本上没有同盟者,甚至作为大西政权赖以存在的基础的普通农民,也在其所施行的暴力面前吓得远离而去,自身军队中的不稳定因素也日益增长。这正是大西军在四川站不住脚的基本原因。
二、张献忠和他的某些助手们过分迷信武力,似乎只要掌握了武力,其他都不在话下,无论是粮食、物资、地盘、兵源以至人心都可以轻易地取得。因此,他们不注意恢复社会生产,不重视维护社会安宁。在大西政权统治的后期,四川人民未能得到起码的安居乐业、休养生息的条件。这固然同地主阶级的叛乱有关,但张献忠等人在客观条件允许的范围内,也并没有作出多大的努力。一个拥有庞大军队的政权,只是建立在社会生产日益萎缩的基础之上,它的前途就是不言而喻的了。
三、大西军领导人的麻痹轻故,也是导致兵败国亡的重要原因之一。明末农民战争的初期,各支起义军由于力量远逊于官军,为了达到保存自己、相机出击的目地,一直非常注意侦探敌情,避免行动的盲目性和遭受官军的猝然袭击。这个优良的传统保持了相当长的时间。可惜的是,张献忠(李自成也有类似情况)在自己的军事力量对官军占了压倒的优势以后,就逐渐滋长了骄傲情绪。突出地表现为麻痹轻敌,不再兢兢业业,临事而惧,好谋而成了。张献忠、李自成的突然牺牲,都不是由于兵力削弱到连自己的领袖人物都保卫不了。相反,他们在牺牲时都还掌握着几十万大军。只是由于麻痹大意,情况不明时硬充好汉,卒致以身予敌。这种无独有偶的悲剧,给后世的人们留下了极为沉痛的教训。