韓信已經打垮了齊國,派人對漢王說:“齊國靠近楚國,如果權力太小,不立為暫時代理的國王,恐怕不能安定齊地。”漢王想要攻打韓信。留侯說:“不如就此封他為王,讓他自己防守齊地。”漢王便派遣張良帶著印綬立韓信為齊王。項羽聽到龍且的軍隊戰敗了,心裏很恐懼,派盱眙人武涉前去遊說韓信。韓信不肯聽從。
楚、漢長期相持,勝負未決,年輕力壯的苦於當兵打仗,年老體弱的疲於轉運糧食。漢王、項羽一同站在廣武澗兩邊對話。項羽想跟漢王單身挑戰。漢王一一數落項羽的罪過說:“最初我和你項羽都受命於懷王,說是先入關平定關中的,就在關中做王。你項羽違背約定,讓我在蜀、漢做王,這是第一罪。你項羽假借懷王的命令,殺了卿子冠軍,而自尊為上將軍,這是第二罪。你項羽已經援救了趙地,應當返回複命,而你擅自脅迫諸侯的軍隊進入函穀關,這是第三罪。懷王約定到了秦地不要殘暴掠奪,你項羽火燒秦朝宮室,挖了始皇帝的墳墓,私自聚斂秦朝財物,這是第四罪。又硬是殺掉了秦朝投降的國王子嬰,這是第五罪。
在新安,用欺騙的手段坑殺了秦朝子弟二十萬,而封他們的將領做王,這是第六罪。你項羽讓自己的將領都在好地方做王,而遷走原來的諸侯王,使臣下爭著叛逆,這是第七罪。你項羽把義帝驅逐出彭城,自己建都彭城,奪取韓王的土地,合並梁、楚稱王,多劃給自己土地,這是第八罪。你項羽派人在江南暗殺義帝,這是第九罪。為人臣下而殺害了他的君主,屠殺已經投降的人,執政不公允,主持約定不守信用,為天下人所不容,大逆不道,這是第十罪。我帶領正義之師隨從諸侯來誅除殘暴的賊人,派受過刑的罪人殺死你項羽,我何苦與你挑戰!”
項羽大怒,埋伏的弓弩射中了漢王。漢王傷了胸部,卻摸著腳說:“這個賊人射中了我的腳趾!”漢王身受創傷,臥床不起,張良請漢王勉強起來巡行慰勞士卒,以安定軍心,不讓楚軍乘機取勝於漢。漢王出來巡視軍隊,傷勢加重,就驅車進入成皋休養。
漢王病好了,向西進入函穀關,來到櫟陽,慰問父老,設酒招待。砍了塞王司馬欣的腦袋,掛在櫟陽街市上示眾。漢王在這停了四天,又回到軍中,駐紮在廣武。關中的兵力大舉出動。
當時,彭越帶兵駐紮梁地,來來往往地騷擾楚軍,斷絕它的糧食。田橫前往依附彭越。項羽多次攻打彭越等人,齊王韓信又進攻楚軍。項羽恐懼,就與漢王約定,平分天下,割鴻溝以西歸漢,鴻溝以東歸楚。項王送回漢王的父母妻子,漢軍全都高呼萬歲,楚軍告別漢軍回到了駐地。
項羽解散兵隊東歸。漢王想要帶領士兵西還,後來采用留侯、陳平的計策,進兵追擊項羽,到達陽夏南麵收兵駐紮。與齊王韓信、建成侯彭越約定時間會合攻打楚軍。到了固陵,韓信、彭越不來會合。楚軍出擊漢軍,大敗漢軍。漢王又進入營壘,挖深了壕溝進行防守。他使用了張良的計策,於是韓信、彭越都前來會合。又有劉賈進入楚地,圍攻壽春。漢王在固陵戰敗,就派使者去召大司馬周殷,用全部的九江士卒迎接武王黥布。黥布、周殷在進軍中攻下城父,大肆屠殺。他們隨從劉賈和齊、梁的諸侯大會垓下。漢王封武王黥布為淮南王。
五年,高祖和諸侯軍隊一起攻打楚軍,與項羽在垓下決一勝負。淮陰侯率兵三十萬獨當正麵,孔將軍布兵在左麵,費將軍布兵在右麵,皇帝居後,絳侯、柴將軍跟隨在皇帝後麵。項羽的士兵大約十萬。淮陰侯首先出戰,沒有取勝,向後退兵。孔將軍、費將軍隨後出擊,楚軍不利,淮陰侯又乘勢反攻,大敗項羽於垓下。項羽的士兵聽到漢軍中的楚歌聲,以為漢軍全部占領了楚地,項羽就敗退逃跑,因此楚兵全軍潰敗。漢王派騎兵將領灌嬰追擊項羽,在東城殺了他,斬首八萬,於是平定了楚地。魯縣為楚國堅守城池,漢軍沒有攻下,漢王帶領諸侯軍北上,把項羽的頭給魯縣父老們看,魯縣才投降了。於是就用魯公的封號在穀城埋葬了項羽。漢王回到定陶,馳入齊王營壘,奪了他的軍隊。
正月,諸侯和將相一起請求尊崇漢王為皇帝。漢王說:“我聽說皇帝這一尊號,屬於有賢德的人,虛言浮語,空有其名,不是這種人所能占有的,我不敢承受皇帝之位。”群臣都說:“大王出身貧寒,誅暴討逆,平定四海,有功的就割地封王侯。大王不尊崇名號,大家對自己的封號都要疑慮,不敢信以為真。臣等誓死堅持大王尊稱皇帝。”漢王再三謙讓,迫不得已地說:“大家一定以為這樣做吉利,是因為有利於國家,我隻好做皇帝了。”甲午,在汜水北麵即皇帝位。
皇帝說:“義帝沒有後代。齊王韓信熟悉楚地風俗,遷徙為楚王,建都下邳。封建成侯彭越為梁王,建都定陶。原來的韓王信仍為韓王,建都陽翟。遷徙衡山王吳芮為長沙王,建都臨湘。番君的將領梅鋗立有戰功,跟隨進入武關,皇帝感謝番君的恩德。淮南王黥布、燕王臧荼、趙王張敖都保持舊封。”
天下基本平定。高祖建都洛陽,諸侯都成為高祖的屬臣。原來的臨江王共歡為了項羽起兵叛漢,命令盧綰、劉賈圍攻共歡,沒有攻克。幾個月後投降了,在洛陽殺了共歡。