建武四年(公元28年),
公孙述进攻关中失败,退守汉中巴蜀。隗嚣反汉后,公孙述曾数次援陇,意图帮助隗嚣阻止汉军从武都(郡治武都道,今甘肃西和西南)进入蜀地。建武九年(公元33年)三月,隗嚣灭亡前夕,公孙述又派
田戎、任满、程汛率兵由江关(今重庆奉节东北瞿塘峡口)东下,夺取巫县(今重庆巫山北)、夷陵(今湖北宜昌东南)、夷道(今湖北宜都),占据长江天险的荆门、虎牙(今湖北宜昌东南隔江相望之二山)两山,阻汉军沿长江西进。北面则派王元、环安据守河池(今甘肃徽县西北),防汉军由天水南下进入蜀地。
建武十一年(公元35年)三月,
光武帝采取南北水陆并发的作战方略,命大司马
吴汉率荆州兵六万,马五千匹,在
荆门与
岑彭会合,沿长江西上进入蜀地;
来歙、
盖延率诸军自
陇西南下攻河池进入蜀地。南线岑彭军溯江西上,攻克荆门,俘获程讯,斩杀任满,田戎退守江州(今重庆市北嘉陵江北岸),岑彭遂由三峡,长驱直入江关。沿途
郡县降附,大军直迫江州。
建武十一年(公元35年)六月,北路来歙军大败王元、环安军,攻破下辨(今甘肃成县西北)、河池,挺进蜀中。公孙述派人刺杀来歙,刘秀乃派将军刘尚继续率军南下。江州城固粮多,不易攻破,岑彭遂留兵围困,自率主力直指垫江(今重庆合川),攻破平曲(今重庆合川东)。公孙述令其将延岑、吕鲔、王元、公孙恢率军拒守广汉(郡治樟潼,今属四川)、资中(今四川资阳),另派侯丹率两万人拒守黄石(今重庆涪陵东北横石滩)。岑彭留
臧宫于平曲拒蜀兵主力延岑,而自率军折回江州,溯江西上,袭破黄石,倍道兼程两千余里,迂回岷江中游,占领武阳(今四川彭山东),进击广都(今四川成都南,岷江东北岸)。公孙述派人刺杀岑彭。刘秀命
吴汉率兵三万赶到前线,接替岑彭指挥。
建武十二年(公元36年)正月,
吴汉在鱼腹津(今四川眉山之岷江渡口)打败蜀军,进围武阳,歼灭蜀援军五千余人。西上再破广都,逼近成都。吴汉求胜心切,率两万步骑进攻成都,兵败。吴汉随即改变战术,乘夜秘撤到锦江南岸与副将刘尚合兵,并力对敌,转败为胜。此后,吴汉根据光武帝敌疲再攻的战术,与蜀军战于成都、广都之间,歼灭公孙述大量有生力量,兵临成都城下。
建武十二年(公元36年)十一月,臧宫攻克繁县(今四川彭县西北)、郫县(今四川郫县)与吴汉会师,合围成都。公孙述招募五千敢死士交延岑指挥,准备决战。延岑在市桥(今四川成都市南郊)大败吴汉。吴汉隐蔽精锐,示弱诱敌。公孙述贸然出击,蜀军大败,公孙述重伤而死。延岑见大势已去,率成都守军降。至此,刘秀完成了东汉王朝的统一。
此战,
光武帝采取南北水陆并发的作战方略,同时发兵
公孙述,是中国战争史上溯三峡入川,并利用江河实施远距离迂回进军的著名
战役。公孙述虽先后两次刺杀了
来歙与
岑彭,但亦无法阻止东汉王朝的统一。