劉邦逃出滎陽後,向南跑到宛縣、葉縣,遇到九江王英布,一邊行進,一邊招集士兵,重又進入成皋,守在那裏。
項羽進兵包圍成皋。劉邦逃走,一個人帶著滕公出了成皋北門,渡過黃河,逃向修武,去投奔張耳、韓信的部隊。諸將也陸續逃出成皋,追隨劉邦。楚軍因此拿下成皋,想要西進。劉邦派兵在鞏縣抵抗,阻斷了楚軍西進的去路。
這時候,彭越渡過黃河,在東阿攻打楚軍,殺了楚國將軍薛公。項羽於是親自率兵東進,攻打彭越。劉邦得到淮陰侯韓信的部隊,想要渡過黃河南進。鄭忠勸阻劉邦,劉邦才停止南進,在黃河北岸修築營壘駐紮下來。劉邦派劉賈率兵去增援彭越,燒毀了楚軍的糧草輜重。項王繼續東進,打敗了劉賈,趕跑了彭越。劉邦這時率領部隊渡過黃河,又拿下了成皋,在西廣武紮營,就近取食敖倉的糧食。項羽已經平定了東方,現在又回過頭來西進,在東廣武與漢軍隔著廣武澗紮下營來,兩軍各自堅守,持續了好幾個月。
(三)鴻溝之盟
公元前203年,彭越幾次往返梁地,斷絕了楚軍的糧食,項羽為此深感憂慮。他做了一張高腿案板,把劉邦父親太公擱置在上麵,向劉邦宣告說:“如果你現在不趕快投降,我就把太公煮死。”劉邦說:“我和項羽作為臣子一塊接受了懷王的命令,曾說‘相約結為兄弟’,這樣說來,我的老子也就是你的老子,如果你一定要煮了你的老子,就希望你能分給我一杯肉湯。”項羽大怒,要殺太公。項伯說:“天下事還不知道怎麼樣,再說要奪天下的人是不顧及家的,即使殺了太公也不會有什麼好處,隻會增加禍患罷了。”項羽聽從了項伯的話,沒有殺劉邦的父親。
楚、漢長久相持,勝負未決。年輕人厭倦了長期的軍旅生活,老弱也因水陸運輸而十分疲憊。項羽對劉邦說:“天下紛紛亂亂好幾年,隻是因為我們兩人的緣故。我希望跟你挑戰,決一雌雄。不要再讓百姓白白地受苦啦!”
劉邦笑著回絕說:“我寧願鬥智,不能鬥力。”項羽讓勇士出營挑戰,漢軍有善於騎射的樓煩,楚兵挑戰好幾次,樓煩每次都把他們射死。項羽大怒,就親自披甲持戟出營挑戰。
樓煩搭箭正要射,項羽瞪大眼睛向他大吼一聲,樓煩嚇得眼睛不敢正視,兩隻手不敢放箭,轉身逃回營壘,不敢再出來。劉邦派人私下打聽,才知道原來是項羽,大為吃驚。這時項羽就向劉邦那邊靠近,兩人分別站在廣武澗兩邊互相對話。劉邦一樁一樁地列舉了項羽的罪狀,項羽很生氣,要和劉邦決戰。劉邦不聽,項羽埋伏下的弓箭手射中了劉邦。劉邦受了傷,跑進成皋。
項羽聽說淮陰侯韓信已經攻克了河北,打敗了齊、趙兩國,而且正準備向楚軍進攻,就派龍且前去迎擊。淮陰侯與龍且交戰,漢將灌嬰也趕來了,把楚軍打得大敗,殺了龍且。韓信趁此機會自立為王。項羽聽到龍且兵敗的消息,心裏害怕了,派武涉前去遊說淮陰侯,勸他聯楚背漢,與楚漢三分天下。韓信不聽。
這時候,彭越又返回梁地,斷絕了楚軍的糧食。項羽對海春侯、大司馬曹咎等說:“你們要謹慎地守住成皋,如果漢軍挑戰,千萬不要和他們交戰,隻要別讓他們東進就行。十五天之內,我一定殺死彭越,平定梁地,回來再跟將軍們會合。”於是帶兵向東進發,一路上攻打陳留、外黃。外黃起先不歸順,過了幾天終於投降了,項羽很生氣,命令男子15歲以上的全部到城東去,要把他們活埋了。
外黃縣令門客13歲的兒子,前去勸說項羽,說道:“彭越憑強力威脅外黃,外黃人害怕,所以才姑且投降,為的是等待大王。如今大王來了,又要全部活埋他們,百姓哪兒還會有歸附之心呢?從這往東,梁地十幾個城邑的百姓都會很害怕,就沒有人肯歸附您了。”
項羽認為他的話有道理,就赦免了準備活埋的那些人。項羽東進睢陽縣,睢陽人聽到這情況都爭著歸附項羽。
漢軍多次向楚軍挑戰,楚軍都沒出來。漢軍就派人去辱罵他們,一連五六天,大司馬曹咎忍不住氣憤,派兵渡汜水。士卒剛渡過一半,漢軍出擊,大敗楚軍,繳獲楚軍的全部物資。大司馬曹咎、長史董翳、塞王司馬欣等都在汜水邊上自刎了。
這時候,項羽在睢陽,聽說海春侯的軍隊被打敗了,就帶兵往回趕。當時,漢軍把楚將鍾離昧包圍在滎陽東邊,項羽趕到,漢軍害怕楚軍,全部逃入附近的山地。不久,漢軍士卒氣盛,糧草充足,項羽士卒疲憊,糧食告絕。劉邦派劉賈勸說項羽,要求放回太公,項羽不答應。劉邦又派侯公勸說項羽,項羽才跟劉邦定約,平分天下。
公元前203年底,劉邦與項羽講和,雙方以鴻溝為界,鴻溝以西的地方劃歸漢,鴻溝以東的地方劃歸楚。項羽送還了劉邦的父親和妻子。