六月初一,光武即與各部人馬一齊出發,自己親自率步、騎兵一千餘人,在離莽軍大約四五裏的地方排開陣勢。王尋、王邑也派兵數千人前來交戰。光武衝進敵營,斬下數十名敵軍首級。其他各部將士高興地說:“劉將軍平生見到小撮敵人就害怕,今天遇到強敵卻勇猛無畏,真叫人奇怪!而且他還是繼續在前,請讓我們幫助將軍!”光武再次進攻,王尋、王邑派出的軍隊退去,義軍各部一同乘機進攻,殺死莽軍數百近千人。義軍連續獲勝,於是繼續向昆陽進軍。此時伯升攻戰宛城已有三天了,而光武還不知道,於是派人偽裝成宛城的使者攜帶書信通知昆陽守軍,說:“宛城的救兵即刻趕到。”卻故意丟失了這封書信。王尋、王邑得知後,十分不快。
義軍眾將領屢戰屢捷,氣勢更壯,無不以一當百。光武就與三千名敢死隊員,從城西涉水直撲莽軍的中軍,王尋、王邑的陣勢大亂,義軍一鼓作氣打垮敵軍,於是殺死了王尋。昆陽守軍也擊鼓呐喊著衝出來,內外夾擊,喊殺聲驚天動地,莽軍潰退,逃跑的士兵互相踐踏,死屍僵臥在百餘裏的路上。恰逢雷聲大作,狂風驟起,屋瓦全被風刮得亂飛,暴雨如注,滍水水勢猛漲,嚇得虎豹都四肢顫抖,士兵們爭著渡河,淹死的人數以萬計,河水為之斷流。王邑、嚴尤、陳茂輕裝騎馬踏著死屍渡河逃走。義軍全部繳獲了莽軍的各種軍用物資,兵車、盔甲和珍寶,多得無法計算,運了幾個月都沒運完,有人就把剩餘的物資燒掉了。
光武再接再勵奪取潁陽。恰在此時,伯升被更始帝殺害,光武從父城趕回宛城請罪。伯升司徒府的屬吏迎接光武並表示同情,光武不方便述說心裏話,隻能沉痛地引咎自責而已。他未曾自我吹噓昆陽的功勞,又不敢為伯升服喪,吃飯說笑如同平時一樣。更始因此心中有愧,便任命光武為破虜大將軍、封於武信侯。
九月初三,三輔的豪傑共同殺死了王莽,將他首級送到宛城。更始帝將北上建都洛陽,以光武兼管司隸校尉事,命令他前去整修宮室和官府。於是光武任命了屬吏,寫好文書發到各屬縣,行使起督促文書,察舉非法的職責,一切按照漢朝的舊規矩辦事。當時三輔地區的官吏和士人到洛陽城東迎接更始帝,看見諸位將軍經過,都是頭上戴幘,身穿如同婦女所穿的衣裳,即諸於和繡之類,都覺得可笑,甚至有人害怕不吉利而走掉了。等到看見司隸校尉的部下,都高興得不知如何是好,老年的官吏有的流著淚說:“不想今天還能重新看到漢朝官員的威儀!”從此有識之士都傾心於光武。
等到更始帝到達洛陽,就派光武以破虜將軍的身份代理大司馬事務。十月,他持節向北渡過黃河,招撫河北各州郡。所到郡縣,便接見二千石、長吏、三老、官屬,下至一般佐史,考察政治得失,如同州牧巡行轄區一樣。他每到某地就審查釋放囚徒,革除王莽苛政,恢複漢朝官吏的名稱。吏民歡欣鼓舞,爭著帶上牛肉和酒,迎接慰勞光武一行人。進入邯鄲,原趙繆王之子劉林勸說光武道:“赤眉軍現在在河東,隻要決堤放水淹他們,百萬赤眉軍全成為魚。”光武不理睬,又前往真定。劉林於是詭稱卜者王郎是成帝的兒子劉子輿。在十二月,擁立王郎為天子,建都邯鄲,並派遣使者勸降了許多郡國。
二年正月,光武看到王郎一興起就比較強大,於是向北攻取薊縣。王郎下達快遞文書,懸賞十萬戶侯捉拿光武。而原廣陽王之子劉接於薊城中起義,以響應王郎。城內很混亂,謠言四起,人人驚恐,說邯鄲使者剛剛到達,二千石以下官吏都前去迎接。於是光武急忙驅車南逃,無論白天黑夜都不敢進入城市,吃住全在道路旁。到達饒陽,部下全斷了炊。光武就自稱是邯鄲使者,進入傳舍。傳舍的官吏剛送進食物,光武的隨從因為饑餓,紛紛爭搶食物。傳吏懷疑他們是偽裝的使者,就擊鼓數十下,假稱邯鄲的將軍來到,光武的部下都大驚失色。光武上車想逃,但是害怕出不去,慢慢回到座位,說:“請邯鄲的將軍進來。”過了許久他才駕車離去。傳舍中的人遠遠地呼叫守護城門的人關閉大門。門長說:“天下形勢還難預料,而能隨便關閉長者嗎?”於是光武得以從南門離去。
他們日夜兼程,冒著霜雪,天氣正寒冷,臉都凍裂了。到了呼沱河,沒有船隻,恰好碰上河水結冰,得以通過,還沒全部過完但後麵的幾輛車陷入河中,他們進入下博縣城西,彷徨猶豫不知該向何方。有一個白衣老人在路邊,指點他們說:“努力!信都郡仍忠於劉玄,離這裏八十裏。”光武立即奔赴信都,信都太守任光開門出迎。世祖因此征集附近各縣的兵卒,得到四千人。先攻打堂陽、貰縣,二城全都降服。王莽和成卒正邳彤也率全郡歸降。又昌城人劉植、宋子人耿純,各領宗親子弟,占領各自的縣城,以擁護光武。先帝於是北上迫降下曲陽,兵馬初步集結,樂意投靠的人達到數萬人。接著向北進攻中山,奪取盧奴。他所過之處調發“奔命”兵,向周圍各郡傳遞文書,要求共同打擊邯鄲勢力,郡縣又再次響應號召。他又南下進攻新市、真定、元氏、防子,都一一占領下來,因此進入趙國地界。