漢更始二年(24年)冬,赤眉軍首領樊崇率兵入潁川(今河南禹縣),所向披靡,但兵疲厭戰,都想東歸。樊崇擔心眾人東歸心必散,於是決定攻打長安,挾劉盆子以為號召,此舉是想挾劉氏為帝而自尊。於是將其眾分為兩部分,樊崇與逢安為一部,自武關入;徐宣等一部,自陸渾關(今河南嵩縣境內)入,以會師關中攻長安。此時更始之兵為鞏衛關中也分為兩部分:一部由討難將軍蘇茂統率,據弘農(函穀關),以抗拒赤眉軍;一部由比陽王王匡、淮陽王張邛統率,守河東以抗拒劉秀的將領鄧禹。赤眉軍二路乘更始部署之機,而從陸渾關入關中。
當光武帝劉秀在河內時,已經得知赤眉軍入關的消息。隻因當時河北還未平定,就一麵命寇恂守河內,而自回河北,掃**群賊;又一麵派鄧禹率精兵2萬西進,奪取河東安邑,相機窺取長安。鄧禹軍的編組如下:以韓歆(原河內太守,以河內投降劉秀)為軍師,以李文、李春、程慮為祭酒(官名——僚屬),馮愔為積弩將軍,樊崇(與赤眉軍領袖非同一人)為驍騎將軍,宗歆為車騎將軍,鄧尋為建威將軍,耿為赤眉將軍,左於為軍師將軍。更始三年(25年,即建武元年)正月,鄧禹軍進攻箕關(今河南濟源縣王屋山南),更始河東都尉守關抗拒鄧禹。鄧禹攻打了十天,才攻破該關,獲輜重千餘輛,遂進圍安邑。但圍攻安邑數月都沒能攻下(這時馮異在孟津致洛陽李軼書,勸令歸附光武帝),更始就派大將軍樊參,帶數萬人渡大陽(今山西平陸縣南茅津渡口)救安邑,鄧禹派各將在解南(今解縣南)迎擊,大破敵人援兵,並斬樊參。於是王匡率成丹劉均等10餘萬(實際上是3到5萬人),再次馳救安邑,進擊鄧禹軍,鄧禹軍大敗,鄧禹的將領樊崇戰死。是日到日暮戰鬥才結束,鄧禹的軍師韓歆及各將領,看到兵勢已挫,都勸鄧禹乘夜撤走,鄧禹不聽。第二天(六月二十六日),王匡等休兵休戰,鄧禹因此得以整頓所部,準備再戰。六月二十七日,王匡以全軍出擊,進攻鄧禹,鄧禹令軍中不得妄動;到王匡軍進到營下,鄧禹則令諸將突然出其不意,進行全麵反擊,因此大破王匡軍。王匡等皆棄軍逃走,鄧禹率輕騎急追,遂擒王匡將領劉均、河東太守楊寶以及中郎將弭強等,皆斬之,所獲兵器不可勝數,河東遂被平定。鄧禹以李文為河東太守,全部更置屬縣令以資鎮撫。王匡、張邛等奔還長安。