昆陽城的攻防戰已經進行了20多天,漢軍人少糧缺,作戰的條件越來越艱苦。六月上旬的一天,城上的漢軍往城外瞭望,忽然望見城南遠處土崗的後面,揚起一片塵土,不一會,又隱約地聽見一陣戰鼓聲和喊殺聲。又過了一會,瞭望哨正式報告說:「劉秀率領的援兵到了。」最先聽到這個消息的人爭相傳告,喜訊很快地傳遍了全城,大家心裡充滿著希望,增強了勝利的信心。
劉秀等人把從定陵、郾城調來的幾千援軍,開到昆陽城郊,在離新軍四、五里的地方,列成陣勢,準備接戰。劉秀觀察了敵軍陣勢,決定先發制人。他親自指揮步兵和騎兵1000人作前鋒,向敵軍勇猛地衝殺過去。王尋、王邑驕傲輕敵,認為漢軍人少,只調幾千人來迎戰。漢軍奮勇進攻,一下子就殺死了許多敵軍。經過這場小的戰鬥,劉秀髮現新軍士氣低落,不願作戰,於是乘勝繼續猛攻,又斬殺新軍1000多人,取得了初戰的勝利。
就在劉秀回到昆陽之前三天,王匡率領的漢軍主力已經把宛城攻破,可是消息還沒有傳到昆陽,劉秀也不知道。為了鼓舞漢軍士氣,瓦解敵軍鬥志,劉秀根據自己的估計,製造了一個宛城已被攻克的戰報,用箭射入昆陽城中;他還故意把另一封同樣內容的信件丟失,讓新軍拾去傳播。這一重大消息一經傳出,城內漢軍受到極大的鼓舞,士氣更加高漲,守城的信心更強了;城外新軍苦戰了一個月,未得尺寸進展,這回又聽說宛城已經失守,士氣更加消沉了。
劉秀看到新軍士氣越來越低落,認為殺敵取勝的條件已經成熟。他把3000名精兵組織成敢死隊,迂迴到城西南,出其不意地渡過昆水,向新軍的大本營發起猛烈的衝擊。一時間鼓號之聲響徹雲霄,喊殺之聲震動天地。驕傲輕敵的王尋、王邑看到漢軍兵力不多,仍然認為不堪一擊,也不進行戰鬥部署,親自指揮10000多人出陣迎擊劉秀;並且命令其餘各軍不得擅自行動。漢軍由於接連取得勝利,膽氣更壯。而新軍士兵大都是臨時脅迫來的農民,他們痛恨王莽,都不願意打仗,諸將又借口王邑已經下了「不許擅自行動」的命令,樂得按兵不動,因此漢軍沖入新軍陣內,竟沒有遇到多少抵抗,無不以一當百,如入無人之境。漢軍越戰越強,猛攻猛打,勢不可擋。沒費多少工夫,就把王尋、王邑親自指揮的一萬多新軍殺得大敗。劉秀率領漢軍乘勝追擊,在陣上殺死了王尋。
在新軍開始潰敗的時候,王鳳指揮城裡漢軍乘勢殺出,夾攻新軍。這時候的新軍由於主帥陣亡,士氣一落千丈,已經完全失去戰鬥力,像山崩一樣的垮下來,將士們只顧爭著逃命,互相衝撞踐踏,死傷的人不計其數,那些虎、豹、犀、象等野獸也早已脫韁逃走。正當新軍望風潰逃的時候,天空忽然陰暗下來,接著狂風呼嘯,雷電轟鳴,大雨傾盆而下,昆陽城北的滍〔zhi治〕川立刻暴漲起來。風聲、雷聲、雨聲、水聲和漢軍的喊殺聲匯成一片,簡直要把喪魂落魄的新軍淹沒了。事實上,新軍被大水淹死的就有一萬多人,屍體堵塞了滍川,幾乎使水都流不動了。王莽的幾十萬大軍,就這樣死的死,傷的傷,逃的逃,完全土崩瓦解了,王邑僥倖沒被殺死,可早已嚇得魂飛魄散,慌忙同嚴尤、陳茂等少數人騎著馬,踩著新軍屍體,渡過滍川,狼狽地逃回洛陽去了。
昆陽大捷以後,漢軍又以風掃殘雲之勢進攻洛陽和長安。十月間,王莽在長安被殺,新朝的罪惡統治被推翻了。
昆陽之戰,是綠林農民起義軍推翻王莽政權的一次正義戰爭,也是一次以少勝多的著名戰例。漢軍以少勝多的根本原因是廣大農民痛恨王莽,要推翻他的殘暴統治。雙方軍隊都是由農民組成的,漢軍勇猛作戰,以一當十,新軍不願打仗,臨陣潰逃,都是農民反對王莽統治的表現。因此可以說,昆陽之戰的輝煌戰果,是雙方農民共同取得的。從軍事指導上說,漢勝新敗,一方面是由於王尋、王邑不懂兵法,盲目輕敵,主觀指導錯誤。另一方面,漢軍在強敵圍攻面前,採取積極防禦,堅守待援的正確方針,在戰鬥中,充分發揮了不畏強敵,勇敢作戰,力爭勝利的革命英雄氣概,再加上王鳳、劉秀等人沉著應戰,正確指揮,終於取得了決定性的勝利。