王元奉隗嚣之命,占据陇坻,阻挡汉军。汉军还未得到确切音讯,贸然前往,快到陇坻时,见前面有木石阻道,已经惊心,但没遇到兵将,还想进去。于是将木石搬开,好容易开通一段道路,走了一程,突然听到陇上鼓角齐鸣,一群将士从高处冲下,拿着长枪大戟,奔向汉军。汉军已经人困马乏,只得退去。可敌人凶悍得很,再加上领兵的主将是隗嚣部下的王元,他本想一举消灭汉军,怎肯轻易放过?汉军叫苦连天,慌忙退去,已经来不及了,前队多被杀死,后队自相踩踏,又死伤多人。
耿弇、盖延虽然能征善战,此时也无计可施。王元紧追不舍,隗嚣又带着大队人马赶来,漫山遍野。汉军只恨腿短,逃得不快。隗嚣与王元步步相逼,一点儿也不肯放松。这下子惹恼了捕虏将军马武,他激励勇士,转身断后,手拿一支长戟,向隗嚣军中冲杀过去,勇士们一齐跟上,杀死追兵数百人。隗嚣的部下乘兴追来,不料遇上这场回马阵,吓得手忙脚乱,一齐退去。隗嚣与王元也担心有闪失,于是鸣金收兵,汉军才得以退回长安。
光武帝当时已经回都,听说众将战败,急忙让耿弇率军赶到漆邑,祭遵率军奔赴汧城,命吴汉等人驻守长安,另派冯异屯兵栒邑。冯异奉命前往,走到半路时接到报告,说隗嚣的部将行巡要去攻打栒邑,士兵已到下陇。冯异命令将士快速前进,率先进入栒邑。然后让将士偃旗息鼓,静待敌军到来。行巡领兵来到城下,见城上毫无守备,以为栒邑唾手可得,不如休息一会儿再攻打。部下得到命令,都下马散坐,毫无纪律。冯异从城楼上望见,立即领兵杀出。行巡来不及防备,上马就跑,部下更加慌乱。冯异追了几十里,斩杀敌兵无数。同时祭遵在汧城也赶走了王元的军队,汉军士气大振,北地豪杰耿定等人相继投降汉军。马援在上林苑种田,上书陈述攻打隗嚣的计划,光武帝召马援进见,当面询问。马援请命先翦除隗嚣的羽翼,然后攻打他的腹心。光武帝于是调拨五千骑兵,让马援带领,让他伺机行动。
马援先去离间隗嚣的部将高峻、任禹等人。隗嚣的势力更加孤弱,只好上书谢罪。众将认为隗嚣虽然谢罪,但心意不诚,请光武帝诛杀隗嚣在京城做人质的儿子,然后大举讨伐。光武帝于心不忍,又派来歙前去传诏,让隗嚣派次子入都。隗嚣看到诏令,知道光武帝识破诈谋,就不再回复。凉州牧守窦融派弟弟窦友上书,表明心迹。因隗嚣反叛,道路不通,窦友中途折回,另派司马席封,从小路到长安,呈上书信。光武帝回信慰问,情真意切。
窦融又写信谴责隗嚣。过了十天,信使回来,甚是懊恼,说是被隗嚣骂了回来。窦融十分生气,召集河西五郡太守,部署兵马,并上书请示。光武帝下诏褒奖,并把四方贡献的宝物转赐给窦融。窦融感激不尽,毁去隗嚣赐的大将军印,令武威太守梁统刺死隗嚣派来的使臣张玄,发兵攻入金城。隗嚣因汉军压境,又与河西失和,更加孤立无助,只好派人到蜀地称臣,乞求援助。
公孙述封隗嚣为朔宁王,派兵支援他。隗嚣正准备发兵,又听说汉将冯异夺去安定、上郡各城,立即率领三万人马,攻打安定。走到阴繁,恰与冯异相遇,交战数次,没有打胜一仗,怏怏退回。隗嚣派兵攻打悁城,又被祭遵打败,退回天水。两次跋涉,都无功而返,反而丧失了很多士兵和粮草。隗嚣的部将王遵多次劝谏,都不见隗嚣采纳,恰逢来歙带着招降书到来,王遵就偷偷带着家属投奔洛阳,做了汉朝的大中大夫,被封为向义侯。
光武帝想亲自讨伐隗嚣,偏偏发生日食,于是暂停军事,下诏寻访有才能的人。七里滩边的钓夫姓庄,单名一个光字,字子陵,会稽郡余姚县人。后来改姓严,因此后人称他为严子陵先生。光武帝小时候曾与他一同学习。光武即位后,他却隐姓改名,到了别处。光武帝想念故人,令会稽太守查访严光的踪迹,没有下落,再令海内到处查访,也没有音讯。光武帝始终不肯忘怀,又让画工描绘他的肖像,到处查找。天下无难事,只怕有心人。果然有人上报说在齐国境内有一个男子与图上的人很相似。光武帝高兴地说:“这一定是子陵了!”忙令有司拿着厚礼前往齐地。严光不肯承认,说朝廷认错了人。使臣哪里肯放,不论他是真是假,定要请他上车。光武帝听说严光到来,为了不让他乘机逃跑,特命他在北军住下,吃的用的一应俱全。大司徒侯霸与严光相识,忙派部下侯子道拿着书信前去问候。严光读完书信,半晌才问道:“我与侯霸已经好久不见了,他向来有痴病,如今位列三公,病好点了吗?”侯子道回答说:“位居高官,怎么会有痴病呢?”严光严肃地说:“既然没有病,为何派你到这里来呢?”侯子道接口说:“司徒听说先生到来,本想亲自过来问候,只因公务繁忙,不能脱身,希望等稍闲一些时前来请教。”严光又笑着说:“你说侯霸没有痴病,这岂不是痴想吗?天子派人请我,我尚且不想见,难道会见人臣吗?”侯子道听了,也不与他啰嗦,只求严光写一封回信。严光不写,只让侯子道代为转达:“侯霸位列三公,怀仁辅义才能取悦天下,阿谀奉承须得要领!”说到最后一句,立即住口。侯子道想请他多说一些,严光大笑道:“多说何用呢?”侯子道于是返报侯霸。
侯霸将严光的话写进奏折呈上。光武帝说道:“这就是狂人,不要与他计较!”说完,就亲自去拜访严光。早有人向严光通报,严光置之不理,假装睡觉。光武帝来到床前,见严光还在那里躺着,就用手抚摸着他的肚子说:“子陵,你为何不肯帮助我呢?”严光仍然不起来,过了很久才睁开双眼,也不谢罪,只回答说:“人各有志,何必苦苦相逼呢?”光武帝喟然长叹,然后起驾回宫。
不久又让侯霸邀请严光入宫,共叙旧情。严光这才进宫,不再倨傲。光武帝问严光:“你看我与前日相比怎么样?”严光回答说:“好像比以往更好!”光武帝鼓掌大笑,留严光同吃同住。睡觉时,严光把脚放在光武帝的肚子上,假装睡熟,好一会才将腿挪去。第二早晨,太史说客星侵犯御座,情况危急。光武帝笑着说:“这是因为朕与故人子陵同睡一床。”说完,当面封严光为谏议大夫。严光既不拜谢,也不辞别,拂袖离去。回到富春山,严光仍旧以打鱼为生,活到八十岁才去世。今浙江省桐庐县南,有严陵濑,与七里滩临近,后面有一座山,名叫严山,山下一块石头,能容纳十个人,就是严光钓鱼的地方,民间称其为严子陵钓台。
渔阳告平以后,光武帝曾派茂陵人郭伋做渔阳太守。郭伋安抚百姓,铲除盗贼,境内安定。只有卢芳占据北塞,多次率领匈奴兵入侵,成为边患。郭伋整顿兵马,阻止胡骑南下,百姓得以安居乐业,中外都称他是贤太守。大司空宋弘被罢官以后,朝臣多举荐郭伋代任。光武帝认为卢芳还在,不便将郭伋调回,所以没有答应。
建武七年三月,发生日食,光武帝下诏令百官上书言事。当时杜林、郑兴等人已回到故乡,都被光武帝召来,并封了官职:杜林为侍御史,郑兴为大中大夫。他们上言说应听从众人的意见,调郭伋为大司空。光武帝下诏褒奖他们,只是仍不愿调回郭伋,却令妹夫李通代任。李通首先倡义起兵,终成大业,加上娶公主为妻,地位非同寻常,但他仍然处事谦恭,不敢骄傲,所以能保全爵位,得以善终。太傅褒德侯卓茂已经病逝,特赐给棺材坟地,表彰他的功劳。前侍御史杜诗接连担任沛郡、汝南各地的都尉,各个地方都被他治理得很好,于是又调任他为南阳太守。南阳是光武帝的故乡,跟随他起兵的大臣多半来自南阳,历任南阳太守都担惊受怕,怕得罪贵戚。杜诗上任后,兴利除害,政治清平,无论贵贱全部信服。在南阳数年,人们都能自给自足,当时人们把杜诗比作前汉的召信臣。召信臣曾做过南阳太守,也是一位施德行惠的好官。所以在南阳流传两句话:“前有召父,后有杜母。”
转眼又是一年,光武帝想到陇西还没有平定,又要派兵征讨了。