刘邦采用韩信的计策,顺着故道县返回关中,袭击雍王章邯。章邯在陈仓县迎击汉军,章邯的军队被打败,退兵逃走;在好畤县停下来再战,又被打败,逃到废丘县。刘邦于是平定了雍地,并继续向东挺进咸阳,率军在废丘包围章邯,并派遣将领们去夺取土地,平定了陇西郡、北地郡、上郡;又派将军薛欧、王吸带兵出武关,借着王陵兵驻南阳郡,到沛县去接刘太公、吕雉。项羽听说后,派兵在阳夏县阻截,汉军不能前进。项羽又封原吴县的县令郑昌为韩王,让他抵挡汉军。
汉军出关,收服魏王豹、河南王申阳,韩王郑昌,殷王司马卬投降刘邦。汉军联合齐王田荣、赵王歇共同攻打项羽。这时候刘邦因此得以统制五路诸侯的兵马,共计五十六万人,东出讨伐西楚。
四月,刘邦攻入彭城,其后汉军被项羽回师大败而还。 韩信再次收集溃散的人马与刘邦在荥阳会合,又在京邑、索邑之间摧垮了楚军,因为这个缘故楚军始终不能西进。
刘邦兵败彭城之时,塞王司马欣、翟王董翳叛汉降楚,齐王田荣和赵王歇也反叛并与楚媾和。
魏王豹以给母亲探病为由回到封国后,就封锁了河关,切断汉军退路,叛汉与楚约和。刘邦派郦食其说服魏豹不成,八月,任命韩信为左丞相率兵击魏。魏豹把重兵布守在蒲坂,封锁河关(黄河渡口临晋关后改名蒲津关)。韩信故意多设疑兵,陈列船只假意要渡河关,而高邑等将领的伏兵却从夏阳以木盆、木桶代船渡河,袭击魏都安邑。魏王豹大惊,引兵迎击韩信,韩信大胜,俘虏魏豹,平定了魏国,改魏为河东郡。
韩信派人请示刘邦说:“请增兵三万人,臣打算往北方攻取燕国、赵国,向东攻打齐国,往南断绝楚国的粮道,再向西和大王在荥阳会合。”刘邦于是增补三万人给韩信,派张耳和韩信一起,进兵攻打赵国和代国。
韩信拿下魏国后,在九月又攻破代国军队,于阏与擒获代国丞相夏说;同时命令曹参把赵别将戚将军围困在邬县城中,后在戚将军突围时将其追斩。之后曹参率兵到敖仓刘邦的营地。
韩信攻克魏国、摧毁代国后,刘邦就立刻派人调走韩信的精锐部队,开往荥阳去抵御楚军。
韩信、张耳统兵几万打算往东经过井陉进攻赵国。赵王赵歇与陈馀陈兵二十万在井陉口抗击汉军。李左车对陈馀说:“韩信渡过西河、掳魏王豹、擒夏说、血洗阏与。现辅以张耳,乘胜欲下赵国,其锋不可挡。可我听说:‘千里运粮,士卒就有挨饿的危险;吃饭时才去打柴做饭,军队就不会吃饱!这井陉口,战车不能并行,骑兵不能列队,行军数百里,其粮必落于后,望您暂拨我三万兵,我从小路断其辎重粮草;您深沟高垒不与其战,汉军前不得战,退不得回,我的部队断绝汉军后路,不出十日,韩信、张耳的头颅就可悬在您的旗下。望您采纳我的计谋,否则定被他俩擒获。”