建武四年(28)八月,光武帝派扬威将军马成率军围困李宪于舒县(今安徽庐江西南),经过一年多的时间,城中粮尽,于建武六年(30)正月被攻破,李宪被杀。建武五年(29)七月,光武帝亲率大军进攻东海的董宪,于次年(30)二月击杀董宪于胸县(今江苏连云港市西南)。
至此东方已经基本平定,包括割据渔阳(今北京密云西南)的彭宠也于建武五年(29)二月被部下所杀,刘秀终于可以誊出手来,解决西面的隗嚣和公孙述了。就地理位置的远近来看,首先的打击目标应该是隈嚣,而割据河西的窦融正处于隗嚣的侧背,光武帝决定拉拢窦融,达成东西夹击的态势。
窦融字周公,是平陵(今陕西咸阳西北)人。窦家世代都在河西地区做官,在当地影响力很大。新莽末年,窦融曾跟随王邑攻打昆阳,战败后,王邑推荐此人有将才,可大用,王莽就任命他为波水将军,领兵攻击绿林军。王莽被杀后,窦融投降了更始帝刘玄,被派往河西,就任张掖属国都尉。更始帝被赤眉军打败,窦融联合酒泉、敦煌等5个郡的官吏、豪强,割据一方,自称“行河西五郡大将军事”。
窦氏本是西汉朝的外戚,因此窦融在感情上倾向于光武帝,再加上光武帝许以高官显爵,他于是断绝和隗嚣的来往,诚心归汉。建武六年(30)三月,光武帝借口公孙述进攻荆州,派人通知隗嚣,要取道天水进攻四川,在遭到隗嚣拒绝后,遂干脆撕破脸皮,派遣耿弇、盖延等七将,各统兵马,分道进攻陇西。
面对汉朝汹涌而来的大军,隗嚣集团内部开始分化瓦解,班彪、申屠建等主张归降,大将王元等则坚决抗战。内部争斗迟缓了组织防御的时间,再加上窦融率五郡太守及西羌、小月氏等兵马数万于后夹击,被迫步步退缩的隗嚣遂于建武九年(33)正月忧惧而死。其子隗纯继立为王,于建武十年(34)十月兵败投降。
占领陇西以后,汉朝对四川公孙述形成了南北夹击之势。建武十一年(35)春,吴汉奉命征发荆州兵6万余人,和岑彭在荆门(今湖北宜昌附近)会合,沿江西上,抵达江州(今重庆市)。同时,来歙和盖延从北路进军,六月攻克了下辨(今甘肃成县北)。公孙述无力抵挡,竟然出起下策,先后派刺客刺杀了来歙和岑彭,使汉军暂时无法前进。
然而暗杀之计一而再,不能再而三,况且这种诡计也根本无法挽救公孙述败亡的命运。建武十二年(36),吴汉率2万骑8战8胜,进逼成都。十一月,公孙述亲率数万人出城抵御,被汉将高午冲入阵中,刺伤其胸。公孙述当晚就伤重而亡,次日,延岑献成都城投降,四川基本平定。
最后只剩下一个卢芳,看到光武帝已经基本削平割据,遂放弃山西等地的领土,逃入匈奴。
至此,全国统一的局面大致形成了。