昆阳城的攻防战已经进行了20多天,汉军人少粮缺,作战的条件越来越艰苦。六月上旬的一天,城上的汉军往城外瞭望,忽然望见城南远处土岗的后面,扬起一片尘土,不一会,又隐约地听见一阵战鼓声和喊杀声。又过了一会,瞭望哨正式报告说:“刘秀率领的援兵到了。”最先听到这个消息的人争相传告,喜讯很快地传遍了全城,大家心里充满着希望,增强了胜利的信心。
刘秀等人把从定陵、郾城调来的几千援军,开到昆阳城郊,在离新军四、五里的地方,列成阵势,准备接战。刘秀观察了敌军阵势,决定先发制人。他亲自指挥步兵和骑兵1000人作前锋,向敌军勇猛地冲杀过去。王寻、王邑骄傲轻敌,认为汉军人少,只调几千人来迎战。汉军奋勇进攻,一下子就杀死了许多敌军。经过这场小的战斗,刘秀发现新军士气低落,不愿作战,于是乘胜继续猛攻,又斩杀新军1000多人,取得了初战的胜利。
就在刘秀回到昆阳之前三天,王匡率领的汉军主力已经把宛城攻破,可是消息还没有传到昆阳,刘秀也不知道。为了鼓舞汉军士气,瓦解敌军斗志,刘秀根据自己的估计,制造了一个宛城已被攻克的战报,用箭射入昆阳城中;他还故意把另一封同样内容的信件丢失,让新军拾去传播。这一重大消息一经传出,城内汉军受到极大的鼓舞,士气更加高涨,守城的信心更强了;城外新军苦战了一个月,未得尺寸进展,这回又听说宛城已经失守,士气更加消沉了。
刘秀看到新军士气越来越低落,认为杀敌取胜的条件已经成熟。他把3000名精兵组织成敢死队,迂回到城西南,出其不意地渡过昆水,向新军的大本营发起猛烈的冲击。一时间鼓号之声响彻云霄,喊杀之声震动天地。骄傲轻敌的王寻、王邑看到汉军兵力不多,仍然认为不堪一击,也不进行战斗部署,亲自指挥10000多人出阵迎击刘秀;并且命令其余各军不得擅自行动。汉军由于接连取得胜利,胆气更壮。而新军士兵大都是临时胁迫来的农民,他们痛恨王莽,都不愿意打仗,诸将又借口王邑已经下了“不许擅自行动”的命令,乐得按兵不动,因此汉军冲入新军阵内,竟没有遇到多少抵抗,无不以一当百,如入无人之境。汉军越战越强,猛攻猛打,势不可挡。没费多少工夫,就把王寻、王邑亲自指挥的一万多新军杀得大败。刘秀率领汉军乘胜追击,在阵上杀死了王寻。
在新军开始溃败的时候,王凤指挥城里汉军乘势杀出,夹攻新军。这时候的新军由于主帅阵亡,士气一落千丈,已经完全失去战斗力,像山崩一样的垮下来,将士们只顾争着逃命,互相冲撞践踏,死伤的人不计其数,那些虎、豹、犀、象等野兽也早已脱缰逃走。正当新军望风溃逃的时候,天空忽然阴暗下来,接着狂风呼啸,雷电轰鸣,大雨倾盆而下,昆阳城北的滍〔zhi治〕川立刻暴涨起来。风声、雷声、雨声、水声和汉军的喊杀声汇成一片,简直要把丧魂落魄的新军淹没了。事实上,新军被大水淹死的就有一万多人,尸体堵塞了滍川,几乎使水都流不动了。王莽的几十万大军,就这样死的死,伤的伤,逃的逃,完全土崩瓦解了,王邑侥幸没被杀死,可早已吓得魂飞魄散,慌忙同严尤、陈茂等少数人骑着马,踩着新军尸体,渡过滍川,狼狈地逃回洛阳去了。
昆阳大捷以后,汉军又以风扫残云之势进攻洛阳和长安。十月间,王莽在长安被杀,新朝的罪恶统治被推翻了。
昆阳之战,是绿林农民起义军推翻王莽政权的一次正义战争,也是一次以少胜多的著名战例。汉军以少胜多的根本原因是广大农民痛恨王莽,要推翻他的残暴统治。双方军队都是由农民组成的,汉军勇猛作战,以一当十,新军不愿打仗,临阵溃逃,都是农民反对王莽统治的表现。因此可以说,昆阳之战的辉煌战果,是双方农民共同取得的。从军事指导上说,汉胜新败,一方面是由于王寻、王邑不懂兵法,盲目轻敌,主观指导错误。另一方面,汉军在强敌围攻面前,采取积极防御,坚守待援的正确方针,在战斗中,充分发挥了不畏强敌,勇敢作战,力争胜利的革命英雄气概,再加上王凤、刘秀等人沉着应战,正确指挥,终于取得了决定性的胜利。