在明末農民起義軍中,最強大的兩支力量是張獻忠軍和李自成軍。張獻忠自天啟末年起義,號八大王。崇禎年間,張獻忠率所部轉戰於黃河以及江淮流域。崇禎十一年(1638年)春,張獻忠降於明,幾個月以後再度起事。此後,張獻忠部曾破武昌、長沙等重鎮,並占領了湘、贛的廣大地區。張獻忠於崇禎十四年(1641年)在武昌稱西王,設置官職,建立政權。至崇禎十六年(1643年),張獻忠已經擁有數十萬百戰之師,力量十分強大。
崇禎十七年(1644年),張獻忠部沿長江兩岸夾江上行,先後攻克今奉節、萬縣等他。六月,張獻忠率師接連攻占今涪陵、江津、重慶,緊接著又親統水陸兩師長驅成都。八月初九日,張獻忠攻陷成都,成都附近的各州縣也相繼被占領。九月,張獻忠部同此前進入川北地區的李自成大順軍展開激戰,大順軍失敗退回漢中。至此,張獻忠的農民軍基本控製了整個四川。
張獻忠在掃平四川後,於十一月十六日在成都正式稱帝,國號大西,改當年為大順元年,改成都府為西京,詔民間稱其為老萬歲。大西政權以汪兆麟為左丞相,嚴錫命為右丞相,並設置六部尚書;頒布新曆,鑄造“大順通寶”錢;在各地方也設置府、縣官員,並派兵鎮守。張獻忠還任命孫可望為平東將軍,李定國為安西將軍,劉文秀為撫南將軍,艾能奇為定北將軍,分掌大部分部隊,孫可望等人都是張獻忠的義子。
大西政權建立後的最初階段,采取了一些安撫民眾的措施。為了網羅人才,又於次年兩度開科取士。同時還把各處生員及家屬集中在城裏,以防止他們在鄉間造謠生事。在這段時間裏,大西政權是較穩定鞏固的。
張獻忠在稱帝之後仍把大順軍作為主要敵手,曾派李定國領兵進攻大順軍占據的漢中,還親自率軍接應。但這時四川各地的官紳武裝和南明的軍事力量卻由東、南、西三麵向大西政權發動進攻,順治二年(1645年)三月,明副將曾英等部在重慶、今四川宜賓等地擊敗大西軍;南明督師王應熊、總督樊一蘅在遵義誓師,命令各路明軍會師攻擊大西政權。各地對大西政權不滿的縉紳和民眾趁機起事,刺殺大西政權的地方官吏,甚至有一縣之內在三四個月內連殺十幾個縣官的。還有的地方用馬糞塗抹大順年號,改成南明的弘光年號。到這年年底,南明軍隊已在重慶、內江、嘉定(今樂山)、大渡河所(今漢源境內)一線集結了數十萬兵力,在成都以北的茂州也有軍隊屯駐、形成夾擊成都之勢。