二年(前205年)三月,刘邦让周勃继续围困雍丘,自己率主力东进。四月,他乘齐、楚两军胶着之际,以项羽杀害楚怀王,为义帝报仇讨逆为政治号召,联络各地诸侯王,率联军五十六万攻楚,一举袭占楚都彭城。项羽留部将继续击齐,自率精兵3万疾驰南下,以少胜多,大败汉军,收复彭城。刘邦仅率数十骑突出重围,逃回荥阳(今河南荥阳东北古荥镇)。此役,汉军被歼数十万,元气大伤。刘邦的父亲妻子儿女都被项羽俘虏。刘邦战败,诸侯纷纷背汉向楚。
为摆脱被动局面,刘邦先水灌废丘,败死章邯,完全解决后顾之忧;
然后派儒生随何说英布归汉,重用韩信、彭越,从各方面联合反楚力量。军事上,则利用荥阳、成皋(今河南荥阳西北汜水镇)有利地形,分兵扼守险要,以争取时间,发展自己,待机再战。
二年五月,刘邦在荥阳得到萧何征得的关中兵员补充,韩信亦率援军赶到,在荥阳东战败楚军,阻遏了楚军西进攻势。楚汉双方在荥阳、成皋一线相持。双方在这个地方拼死争夺,这就开始了关系楚汉命运的成皋之战。从二年(前205年)五月到四年(前203年)八月,前后历时两年零三个月左右。
需要说一下彭越。陈涉起义时,彭越在巨野泽(今山东巨野县,微山湖西北,古为沼泽地)中聚盗贼起事。刘邦西击秦过昌邑(巨野东南),彭越率兵帮助。刘邦继续西进,他就留在巨野收魏败兵,壮大了势力。后项羽分封诸侯时居然忘了他,他和他手下一万多人不知何去何从。后来田荣叛楚,要扩大势力,拜他为将军,共同反楚。刘邦东进进攻项羽,先收服魏豹(被项羽封为西魏王),再收服彭越,并让他任魏相国,共击彭城。彭城败后,彭越引兵北渡黄河,得刘邦令,不断出兵骚扰项羽后方,绝其粮草。
这时候内部又出现一点小问题,魏豹反于河东(郡治安邑,今山西夏县西北禹王城)。刘邦先让郦食其去游说,魏豹说刘邦“慢而侮人,骂詈诸侯群臣如骂奴耳,非有上下礼节也,吾不忍復见也”。于是刘邦就派韩信进攻。韩信佯兵临晋(今陕西大荔县,黄河西岸,对岸才是今日的临晋),阴渡夏阳(临晋以北,即战国时魏之少梁,今陕西韩城),突袭安邑(今山西运城),俘虏了魏豹。
此时,韩信献计:“北举燕、赵,东击齐,南绝楚少粮道,西与大王会于荥阳。”刘邦派韩信和张耳领兵三万,开辟北方战线。当刘邦和项羽相持于荥阳成皋时,他在北方势如破竹。
赵歇和陈馀在刘邦彭城之败后背汉。韩信、张耳从安邑引兵东进,北击赵。
三年(前204年)后九月,韩信先破代地,兵势增强。但是刘邦在荥阳比较麻烦,就派人来把他的精兵拉到荥阳去了。
四年(前203年)十月,韩信张耳率领几万老弱病残继续东进井陉关击赵。陈馀不用广武君李左车奇计,陈兵二十万于井陉关(今河北井陉关,太行山中部)东口。韩信正面背水(河北泜河,在井陉关前)列阵,攻赵先佯败。赵军倾巢追击,汉伏兵从侧面进击占领赵军营垒,拔旗易帜。而正面佯败之汉军前临水后迫追,反身殊死作战。赵军不胜,返回营垒,见营垒被汉军占领,兵大惊而溃,阵斩陈馀,追杀赵歇。燕国不战而降。韩信请以张耳为赵王以抚赵地。汉王许之。
当初张耳陈馀皆为魏之名士,为刎颈之交,陈馀父事张耳,同志友谊不可谓不厚,到后来竟相互欲杀之而后快。不能不让人感慨万分,莫非名利有如此魔力?!
三年(前204年)初,楚军对汉军正面防线发动攻势,数次切断汉军运粮甬道。汉军兵弱粮少,请和,请以荥阳为界以东属项羽。项羽不听。七月,刘邦无奈,假降。将军纪信貌似刘邦,就冒充刘邦从荥阳城东门出来投降,项羽士兵都跑到东门来看热闹,刘邦从西门逃出,令周苛、枞公守城。项羽焚死纪信,紧围荥阳,攻占成皋。周苛、枞公怕魏豹再生事端,杀之。
为调动项羽,分散其兵力,摆脱固守城池,被动挨打的局面,刘邦采纳谋士袁生建议,于五月率军出武关,兵至宛(今河南南阳市)、叶(今河南叶县西南),以减轻荥阳的压力。项羽急于寻汉军主力作战,果然率军自荥阳、成皋南下宛、叶。汉军坚壁不战。
这时,彭越在下邳(今江苏睢宁北古邳镇)大败项声、薛公之兵,威胁彭城。项羽又自率兵东归,击败彭越。
汉军乘机迅速北上,收复成皋。六月,项羽回军,对汉军发动第二次攻势,再占荥阳、成皋,杀死周苛、枞公,并挥军西进。汉军败至巩县(今河南巩县西南),深沟高垒,阻击楚军。刘邦这次亲自跑到修武(今河南修武)韩信张耳军营,趁早上韩张还没起床的时机就夺了韩信张耳的军队。然后拜韩信为赵相国,令东击齐国。
刘邦得韩信兵,军势复强。为减轻正面压力,刘邦遣刘贾、卢绾率兵2万增援彭越,在楚后方攻城略地,断楚粮道,迫项羽第二次回兵东击彭越。
另外,三年十一月,遣谋士随何游说九江王英布叛楚附汉。英布据有九江(郡治寿春,今安徽寿县)、庐江(郡治舒县,今安徽庐江西南)二郡,具有相当实力。英布归汉,项羽侧翼危急,忙遣龙且进攻九江军。英布兵败,与随何亡走归汉。
刘邦达到了在南北方牵制、分散楚军之目的。
汉军趁机再次收复成皋。
项羽第二次率军东击彭越,兵至睢阳(今河南商丘西南),闻汉军再次收复成皋,急忙引兵回救。汉军据险坚守,双方在广武(今河南荥阳东北)形成对峙。
这时,项羽的最后一个盟友齐王广也遇到麻烦。刘邦派郦食其到齐国说服田广叛楚归汉,田广同意,每天和郦食其喝酒娱乐看美女跳舞,不修战备。而之前韩信也接到刘邦攻齐的命令,快要渡黄河到平原(今山东平原县)时听说郦食其凭一张嘴就拿下齐国七十余城,心里不服气,但还是打算罢兵。蒯通看出韩信的意思,唯恐天下不乱,说你又没接到汉王不让攻打齐国的命令,为什么不能打?难道将军打了这么多仗,最后功劳还不如一个腐儒吗?韩信下定决心攻击齐国。齐国没有防御。韩信很快攻到都城临淄(今山东淄博)。田广认为郦食其在出卖自己,煮了他,然后逃到高密。韩信下临淄。
项羽正和刘邦相持于广武,听说韩信又破了齐国,就派龙且率兵救齐,号称二十万。
汉四年(前203年)十一月,龙且与田广军联合在潍河南岸列阵,韩信在北岸。韩信先派人到潍河上游垒坝塞流。接着,派一部兵力涉水进攻龙且,遇楚诈败,引诱楚军渡河。龙且以为汉军弱小,率军渡河进击。韩信待敌渡河追击时,下令决开沙袋筑成的水坝。顿时,河水直下,水位陡涨。韩信乘楚军渡河慌乱之际,回师反击,杀龙且,大败楚军,遂尽复齐地。
韩信派使者请刘邦封他为齐假王(代王,暂代之王)以抚齐民。刘邦正被项羽围困,心中焦虑,听到消息大骂,我被困在此,他不来救我还要封王!张良陈平悄悄踢他,又使眼色刘邦醒悟过来,又骂:大丈夫要当王就为真王,何须假王!封韩信为齐王,并让他发兵击楚。
至此,韩信东进2000余里,从东、北两面形成对楚军的战略包围态势,直接威胁楚大后方。
项羽听说龙且败死,大惊,派人游说韩信归楚。韩信说,原来项王没重用我,无甚恩情,现在汉王对我很好,我们之间已经产生了深厚的革命感情,不听。
彭越也一直在后方骚扰,项羽非常烦躁,要亲自带兵去征讨彭越,必欲杀之而后快。走之前,对留在荥阳的大司马曹咎说,你守在成皋就行,哪怕汉军骂你祖宗十八代你也不能出战,一切等我回来再说,我半月之内就能斩彭越之头。
项羽东归击彭越之陈留(今河南开封东南)、外黄(今河南民权县)。攻下外黄以后,项羽准备屠城。外黄县令的儿子,十三岁,对项羽说,我们直到你的威名,很仰慕你,早想投降你了,都是被彭越那个强盗逼到现在的,我们主动投降你又要杀我们,那还有谁敢向你投降啊。项羽终于听了一回劝,“赦外黄当坑者”。这样从外黄东到睢阳(今河南商丘市睢阳区)十几个城全部不战而降。就在项羽准备继续找彭越决战的时候,荥阳那边又出事了。
项羽走后,刘邦果然命汉军挑战,开始曹咎还坐得住。五六天后,估计刘邦当真让士兵骂了曹咎祖宗十八代,估计骂到他十九代的时候,曹咎才大怒引兵渡汜水击汉的。楚兵半渡,汉兵击,大败之。曹咎、司马欣、董翳(后二人在刘邦彭城之败后趁乱逃归项羽)自杀于汜水上。汉军进围楚将钟离昧于荥阳以东。
项羽正在睢阳听说曹咎兵败自杀,急忙赶回荥阳。汉兵害怕项羽,自解荥阳围。项羽也无力攻击刘邦,只好在荥阳成皋相持。
这时,楚军北有韩信据齐地威胁都城;腹地有彭越游动作战,又须分兵南据九江,以致兵力分散,腹背受敌,粮草匮乏,欲战不能。刘邦则据荥阳、成皋之战坚守不战。
四年(前202年)八月,楚军粮尽,被迫与刘邦订立和约“中分天下”,划鸿沟 (古运河,位于今河南荥阳以东)为界,东归楚,西属汉。楚汉两军在荥阳、成皋一线相持两年零五个月后,休兵罢战。
四年九月,项羽遵约东撤,刘邦亦欲西返。张良陈平认为“汉有天下大半,而诸侯皆附之。楚兵疲食尽,此天亡楚之时也”,建议“不如因其机而遂取之”。
刘邦遂背约,追击楚军,并约集韩信、彭越南下合围。
五年(前202)十月,刘邦军追击楚军至固陵(今河南太康南),因韩信、彭越按兵不动,未如期会师,遭楚军反击,大败,被迫坚壁自守。刘邦从张良计,分别给韩、彭割地封王。十二月,调集韩信、彭越、英布、刘贾等各路大军40万人,将10万楚军包围于垓下(今安徽灵璧)。楚军兵少食尽,屡战不胜。夜闻楚歌四起,军心瓦解。项羽率800骑突围南逃,刘邦派兵追击。项羽至乌江 (今安徽和县东北苏皖界上的乌江镇)兵败自刎。
垓下一战,刘邦全歼楚军。获得最后胜利,建立了西汉王朝。