先說中方,崇禎十年(元1637年)八月,張獻忠率領農民軍大舉進攻南陽將左良玉擊敗,張獻忠人於戰中負傷幸為下孫可望救出。南陽失後張獻忠退至湖北麻城與農民軍劉國能(號闖塌)彙,隨後張獻忠引眾進犯黃岡又軍擊敗。時在坐鎮朝廷的楊嗣昌統一調揮下朝對農民軍發全麵圍剿,多軍張獻忠齊頭殺來。軍攻勢異凶猛,農民軍完全不能適應旋即打得節節敗退。番進剿中總兵左良玉現得尤為突出,作為武將左良玉驍勇剽悍也生驕橫自恣,他瞧不省總熊文燦甚至不肯聽於熊文燦揮。全賴當時朝廷權威猶在左良玉尚不敢擁兵自,而崇禎帝又來凶戾嗜殺,畏於森森皇的左良玉收斂子奉詔農民軍發連番猛攻。崇禎十一年(元1638年)月,總兵左良玉、陳洪範大破張獻忠於鄖。月初,張獻忠迫率殘兵退至湖北穀城。與同時在軍不懈圍剿下,農民軍首領劉國能也於河南隨州歸順朝廷。劉國能率眾歸降沉打擊中農民軍士氣,同時也嚴惡中戰場交戰雙方態勢。
眼見勢壓人已難扭轉,張獻忠為保存實力遂朝廷請降。為達自己歸降誠張獻忠人於穀城張貼告示,宣稱“營誌在匡亂”,“今欲釋甲歸朝,不傷害百姓”。張獻忠還派將孫可望獻出許多珍貴珠寶賄賂熊文燦,據文獻記載,熊文燦大為喜悅立即朝廷奏請招撫張獻忠。縱觀熊文燦生為官口碑還算不錯,尤治福間他績斐,沿海百姓而安居樂業受益匪淺,故筆不認為熊文燦是個貪財誤國徒。他所以會執招撫張獻忠實一策主張,在熊文燦的觀念中他既能招撫鄭芝龍東南海寇盜患,他同樣可以招撫張獻忠弭中寇匪患。而熊文燦上述考未免太過一廂願了,是匪寇張獻忠卻不是鄭芝龍。鄭芝龍出身於海商兼海上武裝集團首領,生誌所不過功名富貴而已,雖說唯是圖卻無染下。可出身草莽的張獻忠則不,他來野心勃勃欲壑難填還從骨子裏透出森森嗜殺殘暴,注定張獻忠絕無可能墮為池中,稱雄一方問鼎下才是他人生夙願。所謂朝廷投誠不過是金鱗待風雨適便龍罷了,熊文燦居奸狡的張獻忠成功欺哄實在迂腐可笑。將左良玉就堅持認為張獻忠是在假裝投降,竭力請繼續進攻將張獻忠徹底剿滅永除後患。內閣大學士兼兵尚書楊嗣昌也耽心張獻忠是詐降生恐會養虎貽患,主張要張獻忠先征剿李自成和馬守應農民軍而後才許招安,否則必須時“厲兵剿殺”。對於招撫張獻忠一朝臣分成兩派爭執不下,後奏請崇禎帝裁決。崇禎帝急於成聽從了主撫派見,朝野再無異議。於是張獻忠在穀城歸降朝廷。
在張獻忠歸降朝廷影響下,羅汝才、白貴、張琳、李萬慶農民軍首領紛紛效仿受撫,曾經遍布於中省的農民軍一時間便消幾淨。而崇禎帝定策太過急功近,導致朝廷在對降附農民軍的安置防範上敗筆不斷亦漏洞百出。以張獻忠為例,他的萬人馬既未遣散也未改編,仍舊保留獨立駐於穀城郊同時又得安休整。如養虎遺患多人出不妥。兵科給中姚思孝曾上言:“張獻忠在穀城縣有數萬人,造房子種田,還該散遣才是”,可剛愎自用的崇禎帝肯聽勸而詰問,“造房種田,是招撫處,又要散遣往裏?”就這樣在皇帝默無視下,日後張獻忠、羅汝才舉兵複叛的種子已經悄埋下。
再說北方,李自成統領農民軍出川入陝時,曾遭省總督洪承疇、陝巡撫孫傳庭層層圍堵。幾經浴血激戰農民軍損失慘,回陝的農民軍繼續要麵對洪承疇、孫傳庭聯手剿殺。崇禎十一年(元1638年)三月,李自成在河州、洮州兩役中連失人馬損失嚴。李自成一僅率三百殘勉與窮追不舍的軍周旋。成功避開軍追剿後,李自成退至陝川交界與將李過、劉純會和。見軍勢大難敵李自成自不敢再與硬碰,得於地不斷動轉戰。月,李自成率所農民軍再入川,洪承疇急忙分兵數圍堵追剿。
據《史紀末》記載,洪承疇統領的陝邊兵實力顯要於川軍,故而洪承疇以川軍弱旅為餌引誘處遊走的李自成,同時農民軍也嚴“乏食”急於獲取資補給。兩點結,李自成不幸中了洪承疇的誘敵計。軍精銳於梓潼成功伏擊農民軍,農民軍大敗“斬首千餘”,幸得在李自成勉力揮下數千殘成功突圍免遭全殲厄運。突圍後李自成一試圖出川入鄂投奔張獻忠,時張獻忠已經投降朝廷,於是乎投奔張獻忠的終不了了。彙農民軍的散兵遊勇,李自成實力稍振又率所人馬出階州、文縣轉戰回陝。十月,李自成先後遭到洪承疇將馬科、左光先截擊,農民軍損失慘。十一月,在洪承疇將曹變蛟配下,陝巡撫孫傳庭又在潼關南成功伏擊李自成。這一仗“闖王”李自成敗得非慘可以說全軍覆沒,引用《史》話講,即“自成盡亡卒,獨與劉宗敏、田見秀十八騎潰圍,竄伏商、洛山中”。隨著李自成所人馬敗沒殆盡,曾經遍布內地多省的農民軍幾乎銷聲匿跡,聲勢浩蕩的末農民大義也暫入低穀。