谋士萧何自荐往说九江王英布,刘邦来到荥阳,与曹参、灌婴、靳歙平定雍丘王武的叛乱,程处在燕县反叛,楚柱天侯在衍氏反叛,羽婴在昆阳反叛,都被曹参平定,樊哙重新取得鲁地与梁地。
京索之战汉二年六月,刘邦回到关中,汉军水攻废丘,雍王章邯在抵抗了十个月兵败自杀,至此三秦悉为汉有。刘邦收关中士卒回到荥阳。
萧何劝降九江王英布,英布叛楚,项羽派龙且、项声攻打英布。
项羽亲自进攻下邑,继续向西进攻,至荥阳,刘邦拜灌婴为中大夫,统率骑兵,在荥阳以东大败项羽,又在于京县、索亭之间击败楚军,将项羽楚军击退到荥阳以东。
京索之战后,汉军稳住阵脚,楚军也无力突破汉军防线进攻关中。
双方从来开始在荥、成一带拉锯,战争进入相持阶段。
相持阶段京索之战,汉军击败楚军,项羽退回荥阳以东,而汉军亦不能过荥而往东。
楚汉相持于荥阳。
刘邦派郦食其劝说魏王魏豺重新归汉,遭到魏豹的拒绝。
汉二年八月,刘邦派曹参、韩信兵分两路攻打魏国,即月攻破安邑,曹参俘虏了魏豹,将魏豹带至荥阳。
汉二年九月,刘邦派陈豨、韩信、曹参攻打代国,后九月,平定代国,斩杀代相国夏说。
汉三年十月,刘邦派原常山王张耳收复赵国故地,韩信与张耳一同前往,陈兵井陉,赵王因代地已失,又听说汉军攻打井陉关,集结赵军主力至赵国北部抵挡汉军的进攻。
此时刘邦趁赵国南部空虚,离开荥阳,北渡黄河,攻克河内。
从南面进攻赵国,接着攻克了朝歌、安阳、邯郸,当邯郸失陷,在井陉与汉军对峙的赵军主力进退两难,张耳与韩信在井陉大败赵军,赵将戚将军逃跑至邬县,被曹参斩杀。
赵王歇逃到襄国,张耳与韩信追击,刘邦亦从邯郸北上攻打襄国,汉军南北夹击,攻破襄国,杀掉了赵王歇。
项羽遣骑兵渡河争夺赵地,被汉军击退。燕王臧荼降汉。
成皋争夺战、成皋之战、荥阳之战汉二年十二月,韩信与张耳留下在赵国继续作战,刘邦返回荥阳。
此前英布被萧何策反,项羽派龙且攻打英布,英布战败,与萧何回到了荥阳。
刘邦召见英布,派英布重返九江,收聚数千人归汉,刘邦也离开荥阳,从成皋南下,到宛县、叶县一带迎接英布,给英布增兵,一起回到成皋。
刘邦据守荥阳,开始修筑甬道,由敖仓运输粮食来荥阳。
与项羽对峙,双方进入相持状态。
项羽率军数次攻夺甬道,汉军粮食短缺。
于是,刘邦向项羽要求和议,荥阳以西归汉。
项羽打算接受,范增认为优势在握,如果放虎归山,必成后患。所以项羽率军加紧围攻荥阳城。
刘邦认为:范增是个大碍,所以给予陈平四万斤黄金,要他去离间项羽和范增的君臣关系。
项羽中计,削其兵权,范增大怒而告老回乡,于途中病故。
为了打破荥阳对峙的僵局,刘邦派靳歙与灌婴攻打楚军的粮道。
靳歙切断了楚军从荥阳至襄邑的粮道,灌婴切断了楚军阳武至襄邑的粮道,命令靳歙与灌婴离开荥阳,越过梁地,与彭越联合,攻打楚国后方的鲁县,鲁县与齐国交界,又与彭越毗邻,是楚国的北部门户,战略意义重大。
由于调走了灌婴与靳歙两支汉军精锐,刘邦在荥阳与项羽艰难对峙。
汉三年六月,韩信与张耳已平定赵国的反抗余波,南下至河内修武,接应刘邦。
七月,刘邦令御史大夫周苛、枞公、魏豹等人守荥阳,离开荥阳北渡黄河,来到修武,命令张耳镇守赵国,拜韩信为相国,韩信请封张耳为赵王,刘邦同意。
刘邦调集原属韩信与张耳的军队,打算回到荥阳支援前线作战。
此时项羽以荥阳起猛烈进攻,周苛等人死守荥阳,八月,周苛以魏豹是反复无常之人,难与一起守城。
于是杀了魏豹,周苛不能抵挡项羽的进攻,当月荥阳被攻陷,周苛宁死不降楚,被项羽所杀,韩王信被项羽俘虏。
刘邦欲回到荥阳与项羽交战,郑忠劝谏刘邦,避开项羽的锋芒,驻扎在河内小修武,不与项羽交战,刘邦采纳。
此时,灌婴与靳歙在鲁县打败了项冠,得知荥阳已失,靳歙南下攻打楚国腹地以牵制项羽,灌婴率骑兵返回前线增援,在燕县打败楚将王武,又在白马津打败楚将桓婴,过白马津渡黄河,到达河内与刘邦会合,护送汉王刘邦南渡黄河回到洛阳,此时项羽又攻破了成皋,到达洛阳附近的巩县,双方在巩县交战,楚军大败,不能继续西进。
刘邦在巩县遏制了楚军的攻势后,乘胜追击,意图夺回成皋,楚军坚持皋险要,汉军攻之不下,刘邦打算放弃进攻成皋,退守巩县与洛阳。
谋士郦食其劝阻刘邦,不要退却,并向刘邦说明敖仓的重要性,放弃成皋与荥阳就意味着放弃敖仓。
此时楚军后方受到靳歙的牵制,不能全力攻打敖仓,劝刘邦务必加紧进攻成皋,收复荥阳,坚守敖仓。并自请出使齐,劝说齐王田广降汉。
刘邦非常赞同郦食其的建议,让他出使齐国,同时派遣灌婴往邯郸调回一部分韩信镇守赵地之军回到前线,坚守敖仓,并以灌婴接任周苛的御史大夫之职。
郦食其不辱使命,以三寸之舌成功劝说齐王归降。
齐王同意归降于汉,撤去历城的守军,示无反意,并与郦食其纵酒庆祝。