汉高祖元年(前206年)二月,刘邦乘田荣起兵反楚之机,利用韩信的“明修栈道、暗渡陈仓”之计,翻越秦岭,袭击陈仓(今陕西省宝鸡市东),重挫从废丘仓促率军驰援陈仓的章邯部主力,而后连续作战,分兵略地,水淹废丘(今陕西兴平南),章邯兵败自杀。汉军还定三秦。二年(前205年),针对“齐、楚军胶着于城阳、楚都彭城空虚”的良机,刘邦果断率军出关,发使者将“项羽杀害楚怀王”之事遍告天下诸侯,并亲自为义帝发丧,约会各路诸侯共击楚之杀义帝者。之后,一举收服魏王豹、河南王申阳、韩王郑昌等山东诸王,在洛阳大会诸侯,一时间声势巨大,聚集诸侯联军达五十六万之众,分路三路,合击楚都彭城。
然而,项羽在政治、军事空前孤立的情况下,又一次表现出了其天才般的军事指挥才能,利用楚军大部分兵马佯攻齐地,自领三万锐卒,迂回联军侧后,快速迫近彭城,占领了彭城的门户萧县,并择机突袭刘邦率领的诸侯联军。决战之时,羽又故技重施,选择各支部队的结合部,进行穿插,直刺汉军腹心,令其指挥系统全面瘫痪。突然出现在联军面前的楚军,战斗力极具震撼,一时间虚实难辨。诸侯联军见刘邦中军被毁,以为楚军大至,也就彻底崩溃了。刘邦勉强率数十骑逃走。“彭城之战”使得刘邦遭到严重挫折。原来投向刘邦的诸侯此时又背叛刘邦,有的重回项羽麾下,如塞王董翳、翟王司马欣,有的则脱离刘邦,转而走向与其对抗,如魏王豹,陈余。项羽基本上扭转了孤立无援的政治局面,重新占据了楚汉战争的主动权。在楚军的一路追击下,汉军变得十分被动。幸而,韩信复收溃败之军与汉王在荥阳会师,萧何则发关中老弱未傅悉诣荥阳,方才遏制住楚军的西进态势,大败其于京、索之间,使汉军得以复振。
与此同时,魏王豹以探母病为由回到封国,封锁了河关,切断汉军退路,叛汉而与楚约和,对固守“成皋-荥阳”一线的汉军造成了致命威胁。汉王派郦生说服魏豹不成,遂任命韩信为左丞相会同将军曹参率兵击魏。此时,魏兵已占据蒲坂,封锁关河,试图以大河险川为屏障,迫使汉军强度黄河,再借地势之利,半渡而击,最大限度的消耗汉军,以求得最终的胜利。此计划看似缜密有力,但却存在着一定的缺陷,即魏军兵力过分集中于天险之上,国都大梁相对空虚。韩信正是紧紧抓住魏军这一缺点,采取“避实击虚”的策略。不与对手争夺河口的主动权,而是令曹参率大军假意与魏军对阵于临晋河口,作强渡之势,暗中遣汉军精锐于夏阳轻装减负以木罂巧渡黄河,奔袭大梁。魏军不得以,仓促分兵回救大梁,汉军乘势大破魏军,生虏魏王豹,灭魏设河东郡。

