起義軍節節勝利,再加上劉玄的稱帝使王莽恐懼萬分;他派大司徒王尋、大司空王邑率領精兵四十二萬,從洛陽出發,直奔昆陽,號稱百萬雄師。
爲了從氣勢上壓倒起義軍,王莽特意物色到一個巨人,名叫巨毋霸。巨毋霸長得像牛那樣粗壯,又帶着他馴養的一批老虎、豹、大象等猛獸,開始時真的給起義軍造成很大壓力。許多將領遠遠望見王莽的大批人馬就膽戰不已,主張放棄昆陽,另找其他根據地。
這時,劉秀站了出來,他對大家說:“兵家最忌未與敵人交兵就先有懼意。我們現在被包圍,又缺少兵馬和糧草,只有大家齊心協力纔有取勝的希望。如果現在放棄昆陽,大家散夥,那就前功盡棄了。”
將士們都贊同劉秀的意見,就開始積極部署起來,最後決定由王鳳、王常留在昆陽抵抗敵人,派劉秀帶一支人馬突圍出去,到定陵、郾等地搬請救兵。
當天傍晚,劉秀僅帶十二名輕騎乘夜出城。
次日清晨,王莽軍隊開始對昆陽城發動猛烈進攻。王莽的軍隊人數衆多,武器精良,大將王尋、王邑都認爲會很快攻下昆陽城,回去向王莽請功。但是昆陽城裡的起義軍頑強抵抗,防守得非常嚴密,兩軍處於相持狀態。
此時,劉秀已帶領一千多人的先鋒部隊來到官軍的外圍。王尋、王邑一看劉秀軍隊的人數很少,就派少數軍隊迎戰。劉秀趁官軍立足不穩,先帶人衝殺過去,並一直衝到官軍的中堅佈陣,官軍由此引起一片混亂。不久,各地支援昆陽的起義軍紛紛趕到。起義軍人數雖然仍少於官軍,但他們各個鬥志旺盛,越戰越勇。
昆陽城裡的王鳳、王常,一見外面的援軍已經到了,就打開城門衝了出去。起義軍裡應外合,奮力衝殺,王尋的軍隊更加慌亂起來。混亂中,王尋被一劍刺死,失去主帥的官軍開始四處逃散,互相踐踏,丟下大量的兵器和屍首。
這時天又下起了傾盆大雨,狂風呼嘯,雷聲震天,滍水(今河南魯山,滍音zhì)漲滿,溢了出來。逃到滍水邊的官兵爭相渡河,溺死的有幾萬人,使滍河的水都不流動了。王邑只帶領幾千人逃回洛陽,起義軍大獲全勝,這就是有名的昆陽大戰。
昆陽大戰後,形勢發生了很大變化。海內豪傑紛紛起來響應,各地豪強打出反對王莽旗號的越來越多。公元23年,綠林軍乘勝向王莽軍展開強大的攻勢。王匡率領一路軍北上進攻洛陽,申屠建帶領一路軍西攻武關,直搗長安。
起義軍來到長安,城裡的居民紛紛響應。長安居民朱弟、張魚等人帶人燒了王宮的宮門,王莽在羣臣的扶持下狼狽地逃到未央宮漸臺。參加暴動的羣衆又把漸臺圍了幾百重,他們一起呼喊讓王莽出來受死。王莽走投無路,被衝進來的起義軍殺死了。王莽的新朝僅維持十五年,就土崩(bēng)瓦解了。
綠林、赤眉大起義,席捲了長江、黃河流域,並最終推翻了王莽的反動統治。昆陽大戰是這次起義中至關重要的一次戰役,它從根本上摧毀了王莽的主力,爲最後推翻王莽政權奠定了基礎。