建武十一年(公元35年),光武帝刘秀劝降公孙述不成,命令吴汉率军前去讨伐。十二月,吴汉从夷陵率领三万军队,从长江逆流而上,一路上接连打败公孙述的将领。次年正月,刘秀下令,让吴汉直接夺取广都,占据了敌人的腹心地带。
吴汉率兵到达广都,公孙述的将领们都很害怕,纷纷逃离或叛变。刘秀一定要公孙述投降,又下诏对公孙述说:“现在及时投降,就能保全宗族。这样的诏书和手书,不会再有了。”公孙述始终没有投降的意思。
刘秀告诫吴汉说:“成都有十多万大军,不能轻视。只能坚守广都,等敌人进攻,千万不要与敌人争锋。”吴汉却率领步兵、骑兵二万人,乘胜进逼成都,在离城十几里的地方,隔着江在北岸扎营,架起浮桥,命副将武威将军刘尚率领一万多人在南岸屯兵,两处军营相距二十多里。刘秀听说后,大为震惊,责令吴汉赶快带兵返回广都。诏书还没送到,九月,公孙述派大司徒谢丰、执金吾袁吉率领军队约十万人,分成二十多营,进攻吴汉。吴汉与敌军交战一整天,失利后退回营地,谢丰趁机包围了他们。吴汉于是犒劳士兵,喂饱战马,关闭营门三天,不出去交战。又竖起很多旌旗,不让烟火中断。等到夜里,吴汉悄悄率领军队,与刘尚会合。谢丰等人没有发觉,第二天兵分两路,一路据守江北,谢丰自己率领另一部,进攻南岸的刘尚。
吴汉派出所有的军队迎战,从早晨战到下午,终于大败敌军,斩杀了谢丰、袁吉。此后,吴汉和公孙述在广都和成都之间交战八次,吴汉八次取胜,东汉大军终于进入成都外城。公孙述窘迫困顿,问延岑说:“该怎么办?”延岑说:“大丈夫应当死里逃生,怎能坐以待毙?财物容易聚敛,不要吝啬。”公孙述就把所有的黄金、绢帛都散发给大家,招募不怕死的五千多人,分配给延岑。
延岑先在成都市桥布下疑阵,插了很多旌旗,敲响战鼓,向东汉军队挑战。又悄悄派出奇兵,绕到吴汉军队的后面偷袭,打败了吴汉军队。吴汉从马上掉到水里,抓着马尾巴才得以脱险。吴汉的军队只剩下七天的粮草,偷偷地准备战船,打算撤退。蜀郡太守南阳人张堪听说后,赶紧求见吴汉,劝他说:公孙述一定会灭亡,不应该退兵。吴汉听从了他的意见,于是假装力量衰竭,挑动敌人进攻。
十八日,公孙述亲自率领几万人进攻吴汉,派延岑抵抗臧宫。两军大战,延岑三战三胜。战斗从早晨打到中午,官兵们没有吃饭,都很疲惫。吴汉于是派护军高午、唐邯率领精锐部队几万人,攻击公孙述,公孙述的军队大乱。高午冲到阵前,刺击公孙述。公孙述胸口被刺穿,摔下战马,身边的人把他抬进城里。公孙述把军队交给延岑,当夜就去世了。