公元343年七月,成漢皇帝李壽去世,太子李勢即位,大赦。李勢是李壽的長子。當初,李壽妻子閻氏沒有兒子,李壽父親李驤殺了叛將李鳳之後,為李壽娶了李鳳的女兒,後來生了李勢。大成皇帝李期喜愛李勢的姿貌,拜他為翊軍將軍,讓他成為當時還是漢王的李壽世子。李勢身材高大,虎背熊腰,當時的人們對他十分驚異。
第二年即344年春,李勢改元叫太和,尊閻氏為皇太後,立妻子李氏為皇後。
四月,太史令韓皓上奏說:“熒惑守心(即火星在心宿星座邊上徘徊),是由於陛下不修宗廟而得到的上天譴責。”李勢便讓大臣們商討對策。相國董皎和侍中王嘏認為:“景、武(指李特和李雄父子)創業,獻、文(指李期和李壽)承基,他們都是陛下的至親,不應該因親疏而隔絕宗廟。”李勢覺得有理,便下令同時祭祀大成的宗廟,把他們都稱作漢的先帝。
公元345年八月,李勢弟弟大將軍李廣,趁著李勢自己沒有兒子,便要求立自己為太弟,李勢不答應。大臣馬當和解思明勸道:“陛下兄弟不多,如果再因此讓他心懷不滿,將致使陛下更加孤單危險。”一再請求李勢答應李廣的要求。李勢懷疑他們和李廣密謀勾結,便收拿馬當和解思明,把他們一家三族都殺了,並派遣太保李弈擊敗在涪城的李廣,然後把他貶為臨邛侯,最終迫使李廣自殺。解思明被捕時,歎道:“國家之所以尚未滅亡,是因為我們幾個人還在。現在恐怕真要滅亡了!”隨後言笑自若而死。解思明很有智略,又敢於諍言直諫;馬當一向很得人心。待到他們被害時,士兵無不感到悲哀。自那以後,成漢的朝政就不再有綱紀以及敢於諍言直諫的大臣了。
公元346年冬,李弈在晉壽舉兵反叛,多數蜀人都響應跟從他,於是李弈的勢力很快就增加到幾萬人。李弈帶兵來到成都城下,李勢登上城樓率兵抵禦。李弈身先士卒,單槍匹馬想突破城門,結果被城門上的弓弩手射殺而死,他的兵眾便不戰而潰。李勢大赦境內,改元嘉寧。李勢獲勝之後,愈益驕淫,毫不體恤國家大事,多數時間居住在皇宮禁城中,很少上朝接見公卿,對往日的臣下疏遠嫉妒,而專門信任身邊的宦官小人。於是讒言並進,刑罰苛刻濫用過度,搞得朝廷內外離心離德。蜀地先前沒有未開化的野蠻獠人部落,到這時才開始從山裏出現,從巴西直到犍為和梓潼,有十幾萬這樣的部落布滿山穀,不可禁止製服,成為老百姓的極大禍患。再加上開始流行的饑饉,於是成漢四境之內,變得一派蕭條。
在這種情況下,東晉權臣桓溫覺得征服成漢的時機已經成熟。十一月,桓溫率領益州刺史周撫和南郡太守司馬無忌出兵討伐成漢,派部將袁喬率領二千人為前鋒。桓溫委托他的謀士範汪負責朝廷的留守事宜,並負責梁州等西北四郡的軍事。
第二年即347年春二月,桓溫大軍來到青衣。當初,諸葛亮在魚複平沙之上造了個八陣圖,堆壘石頭八行,每行相隔二丈。桓溫見到後說:“這是常山蛇的陣勢。”其他文武官員沒一個人認得。
李勢聽說桓溫伐漢,便大舉發動兵馬,由叔父李福、堂兄李權、前將軍昝堅等大將率領,從山陽直奔合水。許多將領要求在長江南岸駐軍以逸待勞等候晉軍的到來,但昝堅不同意,堅持帶兵從江北的鴛鴦碕渡江前往犍為。
三月,桓溫大軍抵達彭模,手下謀士認為應當分兵兩路,異道並進,這樣好分散成漢軍隊的勢力。袁喬反對說:“現在我們孤軍深入萬裏之外,戰勝則大功可立,不勝則可能全軍覆沒。我們應當集聚所有的兵力,爭取一戰而捷。如果分成兩支軍隊,則軍心不一,萬一失敗,大事就完了。不如全軍前進,放棄鍋碗盆瓢,隻帶上三日的幹糧,表現出背水一戰的決心,這樣勝利將是必然的。”桓溫覺得有理,便留部將孫盛和周楚帶領老弱士兵留守輜重,桓溫親自率領大軍直指成都。
李福進攻彭模,孫盛等東晉將領奮起反擊,李福敗走。桓溫進軍的路上,遇到李權,三戰三捷,成漢士卒都散走逃回到成都,成漢鎮東將軍李位都前往桓溫軍營請降。昝堅到犍為後,才知道和桓溫大軍錯過了,隻好回軍,從沙頭津渡過長江,待到快到成都時,發現桓溫大軍已經到了成都近郊的十裏陌,昝堅的部隊便不戰自潰。
李勢率領他的所有軍隊在成都的笮橋抵禦晉兵,桓溫的前鋒首戰不利,部將龔護戰死,敵軍的箭鏃射中了桓溫坐騎的頭部。晉軍大為恐懼,打算後退,匆忙中擊鼓的軍吏不小心把退兵鼓打成進軍鼓,於是前鋒大將袁喬拔劍督促士卒奮力作戰,結果反敗為勝,徹底擊敗成漢軍隊。桓溫乘勝長驅,直接來到成都,縱火燒了城門。成漢人惶恐驚懼,鬥誌盡失。中書監王嘏和散騎常侍常璩等大臣勸李勢投降。李勢詢問侍中馮孚,馮孚道:“昔日吳漢(漢光武帝大將)征蜀,把公孫述一家全殺光了。今日晉人下書,聲稱將不會赦免李氏家族的人,陛下即使投降,恐怕也免不了殺身之禍。”李勢隻好連夜打開東門逃走,跑了九十裏地來到葭萌。大將鄧嵩和昝堅勸李勢投降。李勢便派散騎常侍王幼送投降的文書給桓溫,說:“偽嘉寧二年三月十七日,略陽人李勢叩頭死罪,隻請大將軍節下明鑒:我的先人帶著流民,占恃地形險要進行挑釁,竊取汶蜀一帶。我李勢因為暗弱,治國無緒,苟且偷安,浪費時光,未能改圖。隻有大晉,天網恢弘,恩澤遍及四海,仁惠超過太陽。我被逼迫,十分倉卒,自投草野,不日將親自前往白水城請罪。現謹派私下署任的散騎常侍王幼帶上這封書信,並命令所屬各個州郡停止抵抗。我猶如池中之魚,待命聽從安排。”不久,李勢便用車載著棺柩,雙手縛在背後,前往桓溫軍門投降。桓溫親自解開他的繩索,燒焚他的棺柩,送李勢以及李氏宗室十多人到東晉都城建康去,成漢自此正式滅亡。成漢自從公元304年李雄自稱成都王到公元347年桓溫滅漢為止,一共經曆了43年。
桓溫選拔原成漢的賢明大臣,諸如王誓、王瑜、鄧定、常璩等人,任命他們為自己的謀士。桓溫又任命原成漢司空譙獻之等人為參佐,蜀人因此對桓溫心悅誠服。
桓溫大軍凱旋東歸前不久,成漢舊臣王誓、鄧定、王潤、隗文等人舉兵反叛,各人都招募到一萬多士卒。桓溫親自出擊鄧定,派袁喬出擊隗文,把他們都打敗了。桓溫命令益州刺史周撫鎮守彭模,讓他把王誓和王潤殺了。
桓溫在成都逗留了三十天後,率領大軍回到江陵。李勢到建康後,被東晉朝廷封為歸義侯。
同年夏四月,鄧定和隗文等成漢將領重新入據成都,東晉征虜將軍楊謙放棄涪城,退保到德陽。隗文和鄧定等人便立已故國師範長生的兒子範賁為帝,用妖異的手法迷惑大眾,大多數蜀人都依附了他們。
公元349年夏四月,東晉益州刺史周撫和龍驤將軍朱燾出兵討伐並殺了範賁,終於平定了益州。西南地區這時正式回歸到了東晉的版圖。