建武二年五月,光武帝册立郭贵人为皇后,儿子刘强为皇太子。郭氏是刘扬的外甥女,跟随光武帝来到洛阳。光武帝即位时,郭氏生下一个男孩,取名刘强。当时阴丽华也被迎入洛阳,与郭氏同时受封为贵人。阴丽华的姿色超过郭氏,而且性情温顺,光武帝本想立她为后,她却以郭氏有儿子为由推辞,情愿将皇后之位让给郭氏。光武帝于是立郭氏为后,将两岁小儿刘强立为储君。
光武帝又分封宗室,封刘良为广阳王,刘歙为泗水王,刘祉为城阳王,刘歙的儿子刘终为淄川王。追封刘<纟寅>为齐武王,刘仲为鲁哀王,刘<纟寅>的儿子刘章为太原王。刘仲死后无子,将刘<纟寅>的次子刘兴过继给他,袭封鲁王。当时人心未定,众贼还未平定,渔阳太守彭宠等人又相继造反,警报频传。光武帝虽然派兵讨伐,却总是顾此失彼,只好先从近处着手,依次肃清。刘玄死后,他的部下占据南方,不肯听命于洛阳。光武帝召集将士,商议出兵,他对众人说:“郾城最顽固,其次是宛城,谁敢率兵攻打?”话刚说完,就有人接着说:“臣愿意攻打郾城!”光武帝见是执金吾贾复,就笑着说:“执金吾前去攻打郾城,朕还担心什么?宛城就让大司马去!”贾复领兵离开后,大司马吴汉前去攻打宛城。郾城守将尹尊,曾被刘玄封为郾王,与贾复相持了一个月,城中没了粮食,只好出来投降。宛城由宛王刘赐把守,吴汉领兵一到,也立即投降。两处先后传来捷报,光武帝本来想重罚叛军,只因刘赐是本族兄弟,所以不但不罚,反而封他为慎侯。不久,召陵、新息也被贾复平定。
大司马吴汉转而攻打南阳,与檀乡贼众打了数仗,连战连胜,斩杀数万,降服数万。檀乡贼都是刁子都的余党,刁子都被部下杀害后,剩余的人跑到檀乡,纠集各地盗匪作乱,人称檀乡贼,共计十万。此次被吴汉打败,檀乡贼所剩无几,逃入西山,推选黎伯卿为首领。黎伯卿抵抗几个月,仍被吴汉捣破。光武帝得到捷报,亲自前去慰问,不但增加吴汉的食邑,还晋封他为广平侯。此外建义大将军朱祐、大将军杜茂、执金吾贾复、扬化将军坚镡、偏将军王霸、骑都尉刘隆、马武、阴识等人,各有战功,都得到奖赏。
朱祐,字仲先,南阳宛人,曾跟从刘氏起义,转战多年。杜茂,字诸公,南阳冠军人,在光武帝到河北时,投靠军中。坚镡,字子伋,颍川襄城人,曾为郡县掾吏,颇有才干,有人向光武帝推荐他,从此受到重用,被封为扬化将军。刘隆,字元伯,本是光武帝的同宗,他的父亲是刘礼,之前与安众侯刘崇讨伐王莽,战败而死。刘隆那时年幼,没有受到连累。后来游学长安,刘玄召他为骑都尉,他见刘玄不能成事,就到河内追随光武帝。阴识是阴贵人的兄长,被封为阴乡侯,光武帝因他从军有功,准备增加他的封邑。阴识叩头推让,光武帝见他心意诚恳,就不再加封。阴识为人小心谨慎,即便立了战功,也谦退有礼,因此被人们称颂。
光武帝慰劳完毕,命吴汉前去平定南阳。吴汉接连攻下涅阳、郦穰、新野等地。贾复与偏将军冯异向北攻打五楼、五幡的残贼,也连连告捷。只有大司徒邓禹入关安抚百姓,被赤眉回击,屡战不利,从长安退到高陵,士兵又饥又困,狼狈不堪。光武帝踌躇一番,不得不改派他人前去讨伐赤眉。赤眉前次出关西行,妄图进入陇地。陇地由隗嚣占据,他派杨广率兵迎头截击,杀得赤眉七零八落,慌忙逃走,将所掠夺的财物全部抛弃。
赤眉逃到阳城山谷,又遇上大雪,冻死了很多人,无奈之下只得返回长安。他们认为长安内外,十室九空,没有东西可以掠夺,加上长安已由邓禹把守,不容易进去,不如去汉朝陵寝,或许可以抢劫一些财物,于是一哄而去,闯入园陵。守陵的吏民早已逃得精光,赤眉得以任意掘坟。皇后、妃子的棺材都被劈开,有几个棺材是用玉做成的,尸体没有腐烂,面目栩栩如生。赤眉贼起了淫心,竟将她们的衣服剥去,将她们赤裸裸地放在地上侮辱一番。最奇怪的是吕后的遗体,脸色比生前还要娇嫩,受了侮辱以后,尸体才变色。霸陵是文帝的坟墓,文帝崇尚节俭,没有什么值钱的东西,所以赤眉没有挖掘,才得以保全。杜陵是宣帝的坟墓,由延岑率人把守,赤眉不敢侵犯,因此安然如故。
延岑是南阳人,也是一个绿林盗贼,起兵汉中,打败汉中王刘嘉,据地称雄。刘嘉向关中求援,刘玄那时还没有战败,于是派李宝领兵前往,与刘嘉合兵攻打延岑。延岑寡不敌众,由汉中向北到达杜陵。他虽然也出去掠夺,行为同盗贼一样,但与赤眉相比,还算有些纪律。邓禹听说赤眉挖掘陵寝,急忙令将士前去攻打,反被赤眉打败,伤亡甚多。邓禹于是亲自率兵前往,刚走到云阳,就接到长安警耗,赤眉乘虚而入,长安失守。邓禹无路可归。后来听说赤眉的将领逄安前去攻打延岑,也想伺机偷袭。好容易到了长安城下,正要率兵攻打,偏偏谢禄率兵赶到。一场交战,邓禹再次战败,不得已退到高陵,向洛阳求救。
光武帝思考再三,决定让偏将军冯异代替邓禹。冯异叩头领命,向西进发。一路上恩威兼施,百姓畏服,群盗纷纷投降。光武帝回到洛阳,接连收到冯异的捷报,知道冯异定能取胜,就召邓禹回都。不久,邓禹上奏,说刘玄的部将廖湛,联合赤眉攻打汉中,汉中王刘嘉打败敌人,阵斩廖湛,只是军中缺乏粮食,正好顺便招抚。光武帝准邓禹所请。刘嘉的妻子是来歙的妹妹,来歙与光武帝有亲戚关系,于是就劝刘嘉从命。刘嘉这才让邓禹转达书信,请命效力,并说廖湛死后,赤眉失势,近日赤眉的将领逄安又被延岑打败,部下死了十多万,臣料想赤眉不久必会灭亡,等臣筹足军粮,便可一举歼灭。光武帝已经派冯异代替邓禹,于是颁诏给邓禹,让他赶快回来。
邓禹看到诏令后,为自己没有立功而羞耻,不肯回洛阳。碰巧京城一带闹起饥荒,白骨遍野,赤眉无从掠夺,果然东去,部下还有二十万。光武帝得知这个消息,立即派破奸将军侯进等人出兵新安,建威大将军耿弇等人出兵宜阳,出发时又传令说:“盗贼若向东走,宜阳的兵就到新安会合;盗贼若向南走,新安的兵就到宜阳会合。”然后又让冯异选择险要的地方伏击。冯异奉命驻兵华阴,正值赤眉东来,于是迎头攻击,六十多天里交战数十次,收降赤眉将士五千多人。
不久已是建武三年,光武帝命冯异为征西大将军,并催促邓禹限期还都。邓禹鼓励饥饿的士兵攻打赤眉,再次失利,这才率车骑将军邓弘等人东归。途中与冯异相遇,邓禹又想与冯异一同进攻赤眉。冯异说:“我与盗贼战斗几十天,虽然俘虏了一些敌人,但盗贼人数太多,须慢慢招降,不可猛攻!并且皇上已经部署好一切,让我在西面夹击,这乃是万全之策。你不如遵旨东归,让我去荡平赤眉。”邓禹听了冯异的话,还以为冯异不肯分功给他,私下猜忌起来。邓弘也有这样的想法,于是自己请命做先锋,引兵急进。赤眉一齐迎战,邓弘大败。邓禹望见后,急忙邀冯异一同援助,双方又打了好一会儿,赤眉才退去。
冯异劝邓禹说:“赤眉并非真的战败,我军又饥又累,应暂时休息,不要再追赶了!”邓禹不听,冯异只好跟从。没走几步,忽然听到几声呼哨,赤眉从四面围陇过来,把邓禹、冯异二军冲成几截。邓禹、冯异的部下又饥又乏,见敌人气势汹汹,争着逃跑。邓禹自知打不过,领着二十四个骑兵杀出一条血路,向宜阳逃去。邓弘早已逃得不知去向,只剩下冯异一军,叫他如何抵挡?冯异逃到回溪阪,溪长四里,旁边有峭壁,地势陡峻。冯异与部下数人攀登峭壁,才得以逃脱。
这一仗,汉军死伤三千多人,其余的全部逃跑。多亏冯异脱身回营,下令召集逃散的士兵,士兵得知冯异安然无恙,连夜赶来,共召回一万人。第二天,冯异招募士兵,与赤眉约期再战。赤眉自恃打了胜仗,骄傲起来,不把冯异放在眼里,等到战期临近,便令一万人作为前锋,趁凌晨前去挑战。冯异早已做好部署,一听说敌人到来,就派两千精兵出营交战。双方旗鼓相当,呐喊声震天动地,一直杀到日落,还是不分胜负。后来冯异把红旗一挥,突然有一支人马向赤眉阵中冲去,服饰与赤眉相同,赤眉错以为是自己的党羽,慌忙招呼。谁料到来人劈头向他们打来,赤眉后队顿时大乱。再经冯异率军攻击,杀死赤眉不计其数。原来冯异事先让一千个壮士改穿赤眉的衣服,夜里埋伏在路边,约好以红旗为号,叫他们捣乱敌军。赤眉果然中计,最终一败涂地。冯异率兵追到崤底,截住男女八万人,这八万男女全部投降。剩下十万贼兵,向东逃往宜阳。
冯异飞书报捷,光武帝亲自率领六军,到宜阳截住赤眉。赤眉正拼命东逃,到了宜阳,见前面旌旗蔽天,中间拥着汉天子的御驾,黄盖大旗,威风凛凛,顿时叫苦不迭。连樊崇、逄安等身经百战、杀人不眨眼的人,也仓皇失措。众人无计可施,只好派刘恭前去乞降。刘恭到了汉营,见了光武帝,把投降书呈上。光武帝准许他们投降,刘恭问:“刘盆子投降,陛下将怎样对待他呢?”光武帝说道:“饶他不死。”刘恭立即回去禀报。刘盆子得到消息后,率领部下投降,献上传国御玺,并将兵器全部上交。
光武帝对投降的将士说:“你们大逆不道,所过之处,屠杀老弱,危害社稷,残暴之极,本应全部诛杀。但朕念你们还有三个优点:一是未曾抛弃家人,二是能立宗室为帝,三是肯来归降,就网开一面,法外施恩,此后你们应洗心革面,共享太平!”众人一齐跪下,高呼万岁。光武帝让众人起来,然后回到都城,令投降的将领居住在洛阳,赐给每人宅院一所,良田二顷,其余的发一些钱让他们回去。杨音对皇叔刘良有恩,才没被杀。刘良先依附刘玄,刘玄战败时,刘良曾得到杨音的厚待。光武帝为叔叔报恩,封杨音为关内侯,让他与徐宣安享天年。刘恭替刘玄报仇,杀死谢禄,然后自首下狱,才免去一死。樊崇、逄安在洛阳住了几个月,又想造反,相继被杀。光武帝怜爱刘盆子,给了他很多赏赐,让他在刘良部下做郎中。