晋穆帝永和三年丁未,公元347年春季,二月,桓温的部队抵达青衣。成汉国主李势大举出兵,派叔父右卫将军李福、堂兄镇南将军李权、前将军昝坚等人率领兵众,从山阳开赴合水。众将领想要在长江以南设下埋伏以等待东晋的军队,昝坚没有听从,带领军队从长江以北的鸳鸯渡过长江,奔赴犍为。
三月,桓温抵达彭模。有人提议应该兵分两路,分头并进,用以削弱成汉军的威势。袁乔说:“如今孤军深入万里之外,胜利可以建立大功,败则尽死无遗,应当聚合威势,齐心协力,以争取一战成功。如果兵分两路,则众心不一,万一一方失败,讨伐蜀汉的大事就完了。不如以完整的军队前进,扔掉釜甑一类的炊具,只带三天的军粮,以显示义无返顾的决心,肯定可以取胜。”桓温听从了他的意见。留下参军孙盛,周楚带领瘦弱的士兵守卫轻重装备,桓温亲自统率步兵直接开赴成都。周楚是周抚的儿子。
李福进军攻打彭模,孙盛等人奋力反击,赶跑了他。桓温进军,遇上了李权,三次交战,三次获胜,成汉的军队溃散逃回了成都,镇军将军李位都迎到桓温那里投降。昝坚到了犍为以后,才知道和桓温走的不是一条路,掉头返回,从沙头津渡过长江,等到抵达成都,桓温已经驻扎在成都的十里陌,昝坚的兵众自己就溃散了。
李势把全部兵众都调往成都的笮桥迎战,桓温的前锋部队出师不利,参军龚护战死,流箭射中了桓温的马头。兵众见状十分害怕,想要撤退,而负责击鼓的官吏却误击了前进的鼓声。袁乔拔出战剑督促士兵奋力攻战,终于大败李势的军队。桓温乘胜长驱直入抵达成都,放火焚烧了城门。成汉人惊慌恐惧,再没有继续抵抗的斗志了。李势趁夜打开东门逃跑,到了葭萌,让散骑常侍王幼给桓温送去了请求投降的文书,自称“略阳人李势叩头请求死罪。”不久便拉着棺材,双手反绑于身后来到了桓温的军营门前投降。桓温为他松开了双手,焚烧了棺材,把李势及宗室亲属十多人送到了建康。任用汉司空谯献之等作为参佐,举拔贤能奖掖善事,蜀人十分高兴。
日南太守夏侯览贪婪放纵,侵吞掠夺胡族商人,又下令征调造船用的木材,说准备讨伐征战使用,因此各国对他十分愤恨。林邑王范文攻陷了日南,日南的将士有五六千人死亡,杀掉了夏侯览,用他的尸体祭祀上天。给交州刺史朱蕃送去檄文,请求以郡北的横山作为与晋的分界。范文离开以后,朱蕃让督护刘雄戍守日南。
成汉过去的尚书仆射王誓、镇东将军邓定、平南将军王润、将军隗文等人全都起兵反叛,各自拥有兵众数万。桓温亲自攻打邓定,让袁乔攻打隗文,全都大败了他们。桓温命令益州刺史周抚镇守彭模,斩杀了王誓、王润。桓温在成都逗留了三十天,整顿部队后返回了江陵。李势抵达建康,被封为归义侯。夏季,四月,丁巳二十九日,邓定、隗文等人进占成都,征虏将军杨谦放弃了涪城,退守德阳。
后赵凉州刺史麻秋攻打罕。晋昌太守郎坦因为罕城大难以防守,想放弃外城。武成太守张悛说:“放弃了外城就会动摇众心,大事也就完了。”宁戎校尉张琚听从了张悛的话,固守城池。麻秋率领八万兵众将护城河团团包围,云梯地道,各路俱进,城中的士兵顽强抵抗,麻秋的兵众死伤数万。后赵王石虎又派他的将领刘浑等人率领步、骑兵二万人与麻秋会合。郎坦痛恨张悛不采纳自己的意见,叫军士李嘉悄悄地带领一千多赵士兵登上城墙。张琚督促众将领奋力战斗,杀死了二百多人,后赵军队这才后退。张琚焚烧了后赵军队进攻的器械,麻秋退守大夏。
石虎任命中书监石宁为征西将军,率领并州、司州的军队二万多人作为麻秋的后继部队。张重华的部将宋秦等人率领二万多户人家向后赵投降。张重华任命谢艾为使持节、军师将军,率领步、骑兵三万人进军临河。谢艾乘着轻车,戴着白色便帽,击鼓前进。麻秋远远望见,愤怒地说:“谢艾是年轻书生,如此穿着,这是轻视我。”于是就命令装备黑色矛的三千龙骧兵驰马攻打他,跟随在谢艾周围的人大为惊忧。有人劝谢艾应该骑马,谢艾不听,下车以后,坐在交椅上,指挥部署,后赵军以为有伏兵,因害怕不敢再前进了。别将张瑁率兵从小路截断了后赵军队的后路,后赵军队兵退,谢艾乘势进攻,大破后赵军,斩杀了后赵将领杜勋、汲鱼,斩杀其兵众一万三千多人,麻秋单身匹马逃奔大夏。
五月,麻秋和石宁又率领十二万兵众进军驻扎在黄河以南,刘宁、王擢攻略晋兴、广武、武街,直至曲柳。张重华让将军牛旋抵抗他们,后退固守罕,姑臧城内大为震恐。张重华想亲自出征抵抗,谢艾退切劝谏。索遐说:“君王镇摄一国,不可轻率行动。”张重华于是任命谢艾为使持节,都督征讨诸军事、行卫将军职,任命索遐为军正将军,率领二万步、骑兵抵抗赵军。别将杨康在沙阜打败刘宁,刘宁后退驻扎在金城。
六月,辛酉初五,晋实行大赦。
秋季,七月,林邑的军队又攻陷日南,杀掉了督护刘雄。