公元1639年五月,張獻忠在湖北谷城再一次起義。原來,張獻忠曾經在谷城接受明朝的招安,並不是真心投降,而是暗暗積蓄兵力,準備再起。明朝將領發現張獻忠的意圖,準備派兵鎮壓。張獻忠先發制人,在谷城殺掉明朝縣令,焚燬了官衙,重新打起了起義的旗號。不久,羅汝才也起兵響應。
明朝總兵左良玉派兵進攻,被張獻忠打得一敗塗地,只留下幾百殘兵敗將逃回,氣得崇禎帝把主帥熊文燦和總兵左良玉都革了職務,另派兵部尚書楊嗣昌到湖廣圍攻張獻忠。
楊嗣昌帶了崇禎帝的尚方寶劍,率領了十萬人馬,耀武揚威到了襄陽。他派左良玉等將領把起義軍四面包圍起來。張獻忠轉移到瑪瑙山的時候,由於起義軍隊伍裡混進了奸細,起義軍陷入敵人包圍圈裡,被左良玉軍打敗,損失了大量金銀、戰馬。張獻忠的妻子、兒子也被俘虜。
張獻忠帶了一千名騎兵,從湖北轉移到四川。楊嗣昌跟蹤追擊,把他的行轅遷到重慶,準備在四川消滅起義軍。
楊嗣昌在四川到處張榜,說有誰能抓住張獻忠,賞給黃金萬兩,還封他侯爵。哪知道第二天,在楊嗣昌的行轅裡,發現了許多標語,上面寫著:「有能斬楊嗣昌頭的,賞銀三錢。」
楊嗣昌派出大批官軍到處追剿起義軍,張獻忠起義軍卻是忽東忽西,叫官軍捉摸不定,一直到第二年正月,官軍才在開縣追上起義軍。當明軍將領猛如虎、劉士傑拖著疲勞不堪的兵士趕到,張獻忠的起義軍繞到背後,從山上吶喊著衝了下來,官軍全部崩潰,劉士傑被殺,猛如虎好容易逃脫。起義軍殺退敵人,在營裡拍手唱歌:「前有邵巡撫(指四川巡撫邵捷春),常來團轉舞;後有廖參軍(指監軍廖大亨),不戰隨我行;
好個楊閣部(指楊嗣昌),離我三尺路。」
這支歌謠傳到明軍那裡,使楊嗣昌聽了哭笑不得。公元1641年,張獻忠發現楊嗣昌把重兵都放到四川,襄陽兵力空虛,就擺脫明軍,突然帶兵離開四川,往東轉移,一天一夜急行三四百里,把楊嗣昌大軍遠遠甩在後邊。到了湖北當陽,遇到另一支明軍堵截,張獻忠把羅汝才留在當陽,親自率領精銳部隊直奔襄陽。
楊嗣昌在重慶得到消息,連忙派使者趕到襄陽,命令襄陽明軍嚴密防守。哪裡知道使者走在半路上,被起義軍發現抓了起來。起義軍在使者身上搜到了令牌、文書,上面蓋著楊嗣昌行轅的大印。張獻忠把他的義子李定國叫來,叫他打扮為楊嗣昌使者,帶了幾名「隨從」和令牌、文書,混進襄陽城去。
李定國帶了公文、令牌,來到襄陽城邊,正是夜色朦朧的時候。他在城門外向守軍喊話,守城明兵聽說是楊閣部派來的使者,驗過令牌、文書,也沒有懷疑,把李定國和隨從兵士放進了城。
當天晚上,混進襄陽的起義軍兵士在城裡好幾處放火,全城的百姓從睡夢裡驚醒,發現到處火光沖天,全城大亂。在混亂中,起義軍打開城門,大隊人馬趕到,官軍要想抵抗也來不及了。
起義軍進城以後,一面派人打開監獄,救出被俘的起義兵士和家屬;一面直奔襄王府,活捉了襄王朱翊銘。
張獻忠坐在襄王府大堂,派兵士把朱翊銘押上堂來。朱翊銘嚇得直打哆嗦,跪在地上求饒。
張獻忠說:「我不要別的,只要借你的頭派個用場。」
朱翊銘聽說要殺他,嚇得搗蒜似地磕頭,說:「我宮裡有金銀寶器,聽憑千歲搬用,只求饒命。」
張獻忠哈哈大笑,說:「我進了襄陽,你的金銀財寶有什麼法子叫我不搬?不過,你不把頭借給我,那楊嗣昌還死不了呢!」
說著,吆喝一下,把朱翊銘拉下堂去殺了。
張獻忠佔了襄陽,繳獲了楊嗣昌儲存在那裡的大批糧餉,兵器,又把襄王府金庫裡的十幾萬兩銀子分發給當地的饑民,百姓聽說處決了罪惡纍纍的襄王,高興勁兒就不用提了。
張獻忠攻破襄陽的消息傳到了四川,把楊嗣昌驚呆了。他處心積慮佈置的圍攻起義軍的計劃全部破產,特別是張獻忠在他眼皮底下,來個突然襲擊,使一個藩王喪了命。怎麼向崇禎帝交代?
楊嗣昌喪魂落魄地從四川竄到湖北,剛到沙市,又聽到一個消息,李自成率領的起義軍離開商洛山區,重振旗鼓,趁河南兵力空虛的時候,攻破洛陽,殺死福王朱常洵。這一來,楊嗣昌更是又驚又害怕,他想來想去,沒有出路,只好自殺。