刘秀带一千余人为前锋,距王邑军四五里地稳住阵脚。王邑得报刘秀搬来救兵,便派了数千人前去应战。两军对垒,勇者为胜。作为前锋主帅的刘秀身先士卒,催马向前,枪挑剑刺,一气杀死了十几个敌兵。众将见了,倍感振奋,赶快冲上去,协助刘将军!众将士一拥而上,将数千莽军杀得落荒而逃。王寻又派数千人再上,然而刘秀将士愈战愈勇,所向披靡,以一当十,又将莽军打得大败。王寻见手下将士连吃败仗,亲率一万人马迎战刘秀,并令其他待战将领不得擅自行动,以免乱了阵脚。刘秀见王寻出马,就从后续赶到的援兵中挑选三千精兵,带队冲进王寻、王邑大本营。王寻的士兵被这突如其来的“天兵天将”惊得不知所措,无力抵挡,四下逃窜;其他将领未得命令,不敢擅自增援。刘秀带领数骑,冲向王寻,王寻措手不及,被乱刀砍死。昆阳城上的王凤、王常,看到王寻旗倒,莽军大乱,便知刘秀已经得手,忙打开城门,冲杀出来。城内城外夹攻,喊杀声和军鼓声震天动地。
莽军群龙无首,失去指挥,乱跑乱撞,相互践踏。霎时间,天昏地暗,电闪雷鸣,大雨瓢泼而下,莽军中虎豹犀象一时惊得乱窜乱逃,它们根本不听使唤,巨无霸绝技失灵。莽军兵败如山倒,被杀、被淹死者达数万之众。待王邑率残部逃回洛阳时,四十万众所剩不过数千人马了。
昆阳之役,刘秀创造了历史上以弱胜强的战争奇迹。此役基本上摧毁了王莽军队的主力。这次大战后,农民起义更加风起云涌,绿林军成为起义军的中坚。
昆阳战后不久,在宛城的更始帝刘玄,受新市、平林诸将的鼓动,妒忌刘、刘秀的盛大威名,借故杀死刘。远在前线征战的刘秀听到兄长被害噩耗,又悲又恨。可他想到自己势力敌不过刘玄,只得强忍悲痛,以屈求伸。他忍气吞声,到宛城向刘玄谢罪。不久,他请求刘玄任他为破虏将军,去安抚河北,得到刘玄同意。
此时,绿林军一路由王匡率领进攻洛阳,一路由申屠建率领进攻武关、长安。公元23年十月,起义军攻破长安,王莽逃到渐台,被商人杜吴杀死。王莽的新朝统治结束。
公元24年初,刘玄从洛阳迁都长安,纪律严明。但刘玄进入长安后,大封宗室,生活日益腐化,日夜与妇人在后庭饮宴。起义军将领和刘玄等旧贵族的矛盾也尖锐起来。刘玄杀死起义军将领申屠建、陈牧、成丹等人。王匡、张钡炔宦,率军反抗,但被刘玄击败,他们便率军投奔了赤眉军。
这时,赤眉军已在东方发展成一支强大的军队。刘玄初都洛阳时,樊崇曾想与绿林军联合,他亲率二十余人到洛阳,表示愿受更始政权指挥,但刘玄很冷淡,仅给以空头列侯官爵。樊崇等不满,返回赤眉军中,分军两路向中原进击。公元25年,赤眉军会师弘农(今河南灵宝),有众三十万人,继续西进至今陕西华阴。他们在地主与巫师的怂恿下,拥立一个西汉宗室后裔、年仅十五岁的牧童刘盆子做皇帝,建立政权,徐宣为丞相,樊崇为御史大夫。九月,赤眉军攻入长安,刘玄投降,不久被绞杀。
赤眉军入长安,得到人民的热烈拥护,却遇到关中豪强地主富商的破坏与顽抗。他们组织武装,隐藏粮食,制造混乱。赤眉军被迫退出长安,转移于安定、北地(今甘肃固原、怀县)一带,又遇大雪,并遭到拥兵割据的隗嚣地主武装的袭击,再折回长安。而此时的长安,已是“城郭皆空,白骨蔽野”,赤眉军只得出关东归。
再说刘秀到河北以后,就释放囚徒,废除王莽苛政,恢复汉朝官制,地主武装纷纷前来归附。势力渐渐壮大,在黄河以北站稳了脚跟。
当时,河北地区的铜马、青犊等部农民起义军尚有百万之众。刘秀采取避实击虚的战略,首先对分散在冀州、兖州一带(今河北、山东、河南三省交界地区)的农民起义军进行残酷镇压。势力强大后,又打败力量较强的铜马、青犊等农民军。然后用诱降手段收编了一些零散的农民军。这样,黄河以北的地盘都为刘秀所有。接着,刘秀又趁赤眉军出兵西进之机,两路出击,扩充势力,一路自河北南下,夺取原赤眉军的地盘;一路从河北往西,进攻并州(今山西省)。两路军所指之处,攻无不克,捷报频传,势力进一步扩大,中原之地尽为刘秀所占。
刘秀得势,一些割据势力纷纷归附。在功臣诸将的拥戴下,刘秀于公元25年六月在虺(今河北高邑)正式即位称帝,年号建武,国号仍称汉,表示重建被王莽篡夺了的汉朝。后来又定都洛阳。
公元27年,赤眉军十万余人东归,在崤山被冯异打败,接着又在宜阳被刘秀伏兵包围,损失惨重,樊崇等被迫投降。同年夏,樊崇、逢安等再图起义,被刘秀镇压。接着,刘秀又先后镇压了荆州、河北、河南各地起义军余部。
历时十年的绿林、赤眉农民大起义虽然失败了,但英勇的农民起义军推翻了王莽的黑暗统治,沉重地打击了封建地主阶级,广大农民夺取了一部分土地,大量的奴婢也得到了解放。
刘秀镇压赤眉起义军后,基本上控制了黄河中、下游地区,但当时全国尚有一些地方割据势力。在以后的十年兼并战争中,刘秀先后消灭了地方上的封建割据势力,于公元36年统一了全国。刘秀重建的汉朝由于定都洛阳,位于长安东面,史称东汉,刘秀即光武帝。