张献忠战败降明,驻军谷城(今湖北谷城县)年余,养精蓄锐,训练士卒。他有两个谋士,结为知已,军机进止,两人实与其谋。一个名叫潘独鳌,湖北应城人,很有才华,因与邑绅张某争田不平,率众造反杀了县令,投奔了张献忠。一个名叫徐以显,素性险谲,谒见张献忠,情投意合,一见如故。一日,三人共议军事,潘独鳌说:“熊文灿是无能之辈,惧义军之强盛不敢与战,诱降檄抚,不给粮饷,意在困死我军。用兵之道,贵在神速,久之则堕,士气衰弱,焉能取胜,宜重举义旗,冲出谷城。”徐以显说:“明廷招抚纳降,全是欺骗。从前宋江真诚降宋,被朝廷猜疑,借刀杀人,命宋江去征方腊,一百零八将所剩无几,最后还把宋江毒死,当引以为戒。”张献忠听后,决意反叛,重举义旗,遂于崇祯十二年(1639年)夏五月,率领义军杀进谷城,杀死县令阮之钿,将府库金银粮食一掠而空,除留足军需外,全部分给贫苦百姓,无不喜悦。当地有个名叫岳宗的人,他的叔父岳朝在朝中当户部尚书,张献忠以为他家一定很富裕,便把他抓进营中,逼他交出钱财来。原来这人任侠使气,仗义疏财,又好饮酒,家境贫困。张献忠喜其豪爽,设宴款待,殷情劝饮。岳宗说:“我不敢多饮,惟恐酒醉发狂。”张献忠笑着说:“没关系,正当痛饮为乐。”岳宗喝醉了,便用醉拳打了张献忠的背,并撕裂了他的衣服。张献忠没有发怒杀他,反而把他放走了。这时候,闯王李自成在潼关原打了败仗,闻听张献忠在谷城重举义旗,十分高兴,便和刘宗敏等十八骑冲出重围,经武关,前来谷城投靠张献忠。张献忠设宴盛情款待,饮至半醉时,张献忠笑着拍着李自成的背说:“李兄何不与我相处一起,共同攻城,还这么风尘仆仆奔走什么啊!”李自成察觉张献忠企图杀害他,便离开谷城,进入巴西、鱼复诸山中。
张献忠攻克谷城后,乘胜攻战了房县,与义军首领罗汝才会合,杀了知县郝景春。这时候,已降明朝的十三家义军首领,全部一时并反。总理湖广等省军务的熊文灿见诱降失败,十分惊恐,立即派遣平贼将军左良玉和副将罗岱去征剿张献忠。左良玉来到房县,见张献忠离城不远便率兵追击,在罗英山中了埋伏,被打得大败,副将罗岱亦被张献忠杀死,张献忠也报了一箭之仇。次年(1640年)正月,左良玉与张献忠激战于枸坪关,张献忠战败,撤退到玛瑙山。左良玉与贺人龙、李国奇等部官军两面夹击,义军伤亡惨重,张献忠的妻敖氏与妾高氏被俘,解赴襄阳,关进狱中。由于湖广、四川各地的官军四面拦截追击,张献忠连连失利,最后只率千余人进入兴、归山中,重又陷入困境。张献忠探知左良玉与督师辅臣杨嗣昌不睦,派部将马元利送给左良玉一份厚礼,劝他说:“朝廷这样看重你,还不是因为有我张献忠在?你的部队烧杀掳掠,阁部大臣(杨嗣昌)又那样猜忌专断,一旦没有了我张献忠,你左良玉不也就完了吗?”左良玉接受了这一忠告,对张献忠围而不攻,张献忠乘隙西走,与罗汝才、过天星等会合后,渡过长江,驻屯于万顷山。随后,罗汝才往东,过天星往西,张献忠力击楚兵于土地岭,杀死明将汪之凤,攻陷大昌,进屯开县。罗汝才从东返回,与张献忠合兵一处,转趋达州,经剑阁攻克巴西阆中,时四川巡抚邵捷春退守涪江,兵败被杀。张献忠经绵州、成都、泸州、永川、汉川、德阳进入巴州,再从巴州经达州回到开县,一路攻城略地,势若破竹。