346年12月10日,东晋大将桓温伐蜀。
永和二年(公元346年),割据今四川大部、云贵局部的成汉发生了一桩变故。成汉大臣李奕自晋寿(今葭萌)起兵反叛。在荆州虎视眈眈的桓温从这次事件中嗅到了契机,于永和二年十一月辛未(公元346年12月10日),率领七千精卒,沿长江西上,开始了灭蜀之役。
桓温出兵伐蜀,使袁乔率二千人为前锋。他上了表就出发,所以朝廷虽有异议,也无从阻止他了。朝中的议论多以为蜀中地形险阻,路途又远,桓温兵力不大,难以取胜。刘惔却以为必能成功,众人问他根据何在,他说:“从赌博可知。桓温赌博的手段极精,非一定能赢绝不出手。只怕灭蜀之后,朝廷都得听他的而已。”刘惔幼年便与桓温相识所以他是真正了解桓温的。李势仗着蜀道险阻,不作战备。桓温长驱深入,至永和三年(347年)二月,已经在离成都不远的平原地区上大耀军威了。李势这时如梦方醒,急命叔父李福、堂兄李权、将军昝坚等领兵迎敌。昝坚不知根据什么,领兵到了犍为(今四川彭山东)。三月,桓温到了彭模(今彭山东北),这里离成都只有两百里。昝坚与桓温走的不是一条路,他不知晋军何在,只在驻地傻等。桓温与众将商议进兵方略。有人主张分兵为二,两路挺进。袁乔反对,他说:“此刻悬军万里之外,得胜可立大功,败了就全军覆没,必须合势齐力,不可分兵。应当丢掉锅子,只带三天粮草,表示有去无还的决心,全力进攻,必可成功。”桓温依计,只留参军孙盛、周楚带少数军队守相重,他自己引兵直取成都。李福攻彭模,被孙盛等击退。桓温和李权遭遇,三战三胜,汉兵溃散,逃回成都。待桓温进至成都近郊,昝坚才发现自己的失误,赶忙回来,但见晋军已逼近成都,所部军心慌乱,竟不战而溃。李势派的几支兵都完了,他垂死挣扎,领兵出城,在笮桥(在成都西南)迎敌。这是灭汉的决战,也是惟一的一次硬仗。晋军开头打得并不顺利,参军龚护阵亡,汉军的箭射到桓温马前,军心有些动摇。这时,突然鼓声大振,袁乔拔剑指挥,将士誓死力战,于是大获全胜,便又进到成都城下,放火烧其城门。李势连夜逃往茵萌。他自忖无法再战,只得修了降表,派人送到军前投降,成汉就此灭亡。从公元太安元年(302年)李特起兵起算,共六世四十六年;若从李雄称王起算,还得减掉两年。蜀事还有余波。好几个蜀将起兵反晋,被桓温、袁乔等打败。桓温留驻成都三十天,班师还江陵。李势被送到建康,封归义侯,后来在建康病故。晋军主力撤退后,蜀将隗文、邓定等进入成都,立范长生的儿子范贲做皇帝,到公元永和五年(349年)才完全平定。