忠又利用四川巡撫邵捷春和楊嗣昌之間的矛盾,集中兵力,猛攻邵捷春防守的新寧(今四川開江)。
邵捷春根本沒有想到農民軍如此神速,官軍一觸即潰。農民軍突破新寧防線后,順利地進入了四川。
農民軍的入川,打破了楊嗣昌的圍剿計劃,并在軍事上也從防御轉入了進攻。楊嗣昌剛愎自用,滿以為官軍已把張獻忠、羅汝才等部包圍在鄂、川、陜三省交界地區,勝利在握了。但實際上是面對軍令,從總督到將帥。再到士兵。幾乎是無人去執行。
張獻忠盡量避免與官軍打陣地戰,而采取“以走制敵”的策略,一晝夜能行三百余里,快速流動,常常把官軍搞得顧此失彼,腹背受敵,疲于奔命。
劉元昭看到了機會,農民軍復起,東北關寧軍叛亂,他覺得可以給崇禎再澆把火。
于是蟄伏多年,一直是偏師的西部軍團在劉元昭的命令下對著陜西發起了進攻。
陜西三邊總督鄭崇儉正領兵在四川與張獻忠作戰,陜西空虛,很快就全面陷落了,只剩下潼關在堅守。
鄭崇儉,字大章,山西鄉寧人。萬歷四十四年(1616年)進士。授河南府推官,歷濟南兵備副使。崇禎初,遷陜西右參政,累遷右僉都御史,巡撫寧夏,數敗套寇,因功獲賜銀幣,世蔭錦衣副千戶。
崇禎十二年正月,鄭崇儉升任兵部右侍郎,接替洪承疇總督陜西三邊軍務。五月,張獻忠在谷城起義,羅汝才等九營隨之俱反,興安(今陜西安康)告急。
總理熊文燦請求皇上命令鄖陽巡撫王鰲永防守江陵、遠安,陜西巡撫丁啟睿、四川巡撫邵捷春分別在各自區域內嚴兵防守,鄭崇儉主持提兵合擊。
這時,固原、臨洮、寧夏的三個總兵左光先、曹變蛟、馬科已跟隨洪承疇入衛京師,只有柴時華中途返回甘肅,鄭崇儉調用他而他卻不響應。
鄭崇儉于是傳檄要副將賀人龍、李國奇等從西安出兵。不料,李國奇的隊伍到略陽時發生士兵起哄,搶劫了瑞王的田租。
李國奇當時已提升為陜西總兵官,卻因此事被免去新職,而鄭崇儉也因之被貶官一級。
張獻忠起兵后,在房縣的羅英(犬字旁英)山大敗左良玉的部隊,策劃進入陜西。
鄭崇儉率領賀人龍、李國奇的部隊把他遏制在興安,于是起義軍回奔到位于湖廣、四川交界地帶的興山、太平。
這時,楊嗣昌已經以督師輔臣的名義領兵南下,到熊文燦的軍中取代了他的位置。
在此之前,兵部尚書傅宗龍建議讓鄭崇儉兼管四川的軍隊,而楊嗣昌已經發布檄文要求陜西的軍隊進入四川。
鄭崇儉于是在崇禎十三年(1640年)二月率領賀人龍、李國奇入蜀,會同左良玉在瑪瑙山(今四川萬源境內)大敗起義軍,斬獲首級一千三百三十三個,收降起義軍領袖二十五人,得到不計其數的兵器和馬騾。
雖然鄭崇儉親自指揮作戰而楊嗣昌遠在襄陽,但等到評定功績時,封賞的一半卻歸了楊嗣昌,鄭崇儉只升官一級,不過是恢復以前所降的那一級罷了。
張獻忠失敗后逃竄到柯家坪,四川將領張令在追擊他時被包圍。
鄭崇儉派兵打跑起義軍,賀人龍、李國奇等又一路追擊,在寒溪寺、鹽井擊敗起義軍,先后斬獲一千五百首級。
張獻忠的同伙“順天王”、“一條龍”、“一雙龍”全部投降。
鄭崇儉的軍隊五天內打了三次勝仗,威名大震。后他因為年老體衰請求辭官回家,而朝廷卻不同意,命令他率領鄭家棟回關中,留下賀人龍、李國奇繼續鎮壓起義軍。
陜西一出事,官軍大震,楊嗣昌更是失魂落魄。
不得已,明軍停止追擊張獻忠,鄭崇儉帶著賀人龍等人回守潼關。
陜西失守,明廷上下驚恐。