刘邦兵败彭城,塞王司马欣、翟王董翳叛汉降楚,齐王田荣和赵王歇也反叛并与楚媾和。楚汉彭城之战结束后不久,汉二年九月,对于当时进入全面战争状态下的楚汉双方而言,要想取得最终胜利,获取到其他六国的支持就是至关重要了。因此就是在这样的大背景之下,大将军韩信临危受命,开始了他的东征之战。 彭城之战结束后的第二个月,刘邦已经回到荥阳不久就生病了,西魏王魏豹便前来看望刘邦。但刘邦彭城作战失败,魏豹被项羽楚军声势所吓倒,于是六月魏王豹以探母病为由回到封国后,魏豹突然就改旗易帜,封锁了河关,切断汉军退路,反汉归楚了。
魏王豹反汉引起大局形势的突变。但为解除魏对汉侧背的威胁,保障运输路线和关中地区的稳定与安全,汉二年八月,刘邦派出自己的心腹谋臣郦食其亲自前往西魏国劝说魏豹。刘邦许诺郦食其,如果他能说服魏豹附汉,就以魏地之万户封给郦食其。魏豹慑于楚之强大,谢绝郦食其说:“人生一世间,如白驹过隙耳。今汉王慢而侮人,骂詈诸侯群臣如骂奴耳,非有上下礼节也,吾不忍复见也。”魏豹仍然还是铁了心的要反汉。郦食其游说失败,报告刘邦,刘邦见说服魏豹不成,八月任命韩信为左丞相率兵击魏。
魏王豹陈兵蒲坂(今山西永济西蒲州),封锁黄河渡口临晋关(今陕西大荔东),以阻止汉军渡河。此时大将军韩信所统领的军队中,除了灌婴的郎中骑兵外,主力便是曹参在关中募集的那支新军,战斗力明显不行。于是大将军韩信采用声东击西、避实就虚战术,兵分两路,一路为疑兵假意乘船欲渡临晋,主力却直奔临晋关上游百余里处的夏阳(今陕西韩城西南),攻入西魏境内。魏豹也不是平庸之辈,在蒲坂以北的东张一带驻扎了一支精兵,并由西魏国大将孙遬所统领,防备汉军突然从西魏西北方向攻入魏境。由于西魏国与汉国之间隔着黄河,所以韩信乘魏军无备,用木柙缚罂缶(一种简易渡河器材)迅速渡过黄河。渡河后,即以迅猛的行动进攻临晋魏军之侧后,在东张地区击破魏军,旋即攻击战略要地安邑。
魏王豹没有料到,韩信突然深入魏国的腹地安邑,并且正在疯狂攻击安邑城。这次对魏战略要地的奇袭,给魏豹内心沉重的打击,他彻底慌了。被迫无奈,马上转移蒲坂兵力以救安邑的燃眉之急。先前集结于蒲坂的军队,被置于无用武之地后又要赶来救急,往返奔波,疲于奔命。汉军奇袭,一举攻占安邑,马上转向从蒲坂北进的魏军进攻,在安邑西南两军交手。曹参正面进攻,灌婴骑兵包围侧击。魏军挡不住曹参的攻击,冯敬的骑兵也被灌婴击散了,魏军陷入了包围。九月,汉军在安邑西南击败救援的魏军,并俘获魏将王襄,袭占安邑。魏王豹率败军东走曲阳(今河北曲阳西),再度被汉军击破。魏豹逃至东垣(今山西坦曲)被汉军所擒,魏军全部被汉军歼灭于战场。
此战,韩信出其不意灭魏,使刘邦得魏降卒补充前线,加强了对楚正面防御,并为以后韩信灭代、破赵、降燕、克齐,开辟战场创造了条件。