五年(前
202),高祖和諸侯軍共同進攻楚軍,與項羽在垓下決戰。 淮陰侯韓信率領三十萬大軍與楚軍正面對陣,他的部將孔將軍在左邊,費將軍在右邊,漢王領兵隨後,絳侯周勃、柴將軍跟在漢王的後面,項羽的軍隊大約有十萬。淮陰侯首先跟楚軍交鋒,不利,向後退卻。孔將軍、費將軍從左右兩邊縱兵攻上去,楚軍不利,淮陰侯乘勢再次攻上去,大敗楚軍於垓下。項羽的士兵聽到漢軍唱起了楚地的歌,以為漢軍已經完全佔領了楚地,項羽戰敗逃走,楚軍因此全部崩潰。漢王派騎將灌嬰追殺項羽,一直追到東成,殺了八萬楚兵,終於攻佔平定了楚地。只有魯縣人還為項羽堅守,不肯降服,因為懷王當初封項羽為魯公。漢王就率領諸侯軍北上,把項羽的頭給魯縣的父老們看,魯人這才投降。於是,漢王按照魯公這一封號的禮儀,把項羽葬在穀城。然後回師定陶,驅馬馳入齊王韓信的軍營,奪了他的兵權。
正月,諸侯及將相們共同尊請漢王為皇帝。漢王說:「我聽說皇帝的尊號,賢能的人才能據有,空言虛語,不是我所要的,我可承擔不了皇帝的尊號。」大臣們都說:「大王從平民起事,誅伐暴逆,平定四海,有功的分賞土地封為王侯,如果大王不稱皇帝尊號,人們對大王的封賞就都不會相信。我們這班人願意以死相請求。」
漢王辭讓再三,實在推辭不過了,才說:「既然諸位認為這樣合適,那我就為了國家的便利吧。」甲午日,漢王在汜水北面登臨皇帝之位。
皇帝提到義帝沒有後代。因為齊王韓信熟悉楚地的風俗,就改封韓信為楚王,建都下邳。封建成侯彭越為梁王,建都定陶。原韓王信仍舊為韓王,建都陽翟。改封衡山王吳芮為長沙王,建都臨湘。番君的部將梅鋗有功勞,曾經隨漢軍進入武關,所以皇帝感激番君。淮南王黥布、燕王臧荼、趙王張敖封號都不改變。
天下全都平定了,高祖定都在洛陽,諸侯都稱臣歸從於高祖。原臨江王共驩(hu□n,歡)為項羽效忠,反叛漢朝,高祖派盧綰、劉賈去包圍了他,沒有攻下。過了幾個月共驩才投降,在洛陽把他殺了。
五月,士兵都遣散回家了。各諸侯子弟留在關中的,免除賦稅徭役十二年,回到封國去的免除賦稅徭役六年,國家供養他們一年。
高祖在洛陽南宮擺設酒宴。高祖說:「列侯和各位將領,你們不能瞞我,都要說真心話。我之所以能取得天下,是因為什麼呢?項羽之所以失去天下,又是因為什麼呢?」高起、王陵回答說:「陛下傲慢而且好侮辱別人;項羽仁厚而且愛護別人。可是陛下派人攻打城池奪取土地,所攻下和降服的地方就分封給人們,跟天下人同享利益。而項羽卻妒賢嫉能,有功的就忌妒人家,有才能的就懷疑人家,打了勝仗不給人家授功,奪得了土地不給人家好處,這就是他失去天下的原因。」高祖說:「你們只知其一,不知其二。如果說運籌帷幄之中,決勝於千里之外,我比不上張子房;鎮守國家,安撫百姓,供給糧餉,保證運糧道路不被阻斷,我比不上蕭何;統率百萬大軍,戰則必勝,攻則必取,我比不上韓信。這三個人都是人中的俊傑,我卻能夠使用他們,這就是我能夠取得天下的原因所在。項羽雖然有一位范增卻不信用,這就是他被我擒獲的原因。」
高祖打算長期定都落陽,齊人劉敬勸說,還有留侯張良也勸說高祖進入關中去定都,高祖當天就起駕入關,到關中去建都。六月,大赦天下。
十月,燕王臧荼造反,攻下了代地。高祖親自率軍前去討代,禽獲了燕王臧荼。當即封太尉盧綰為燕王。派丞相樊噲領兵去攻打代地。
這一年的秋天,利幾造反,高祖又新自帶兵去討伐,利幾敗逃。利幾原先是項羽的部將。項羽失敗時,利幾是陳縣縣令,沒有跟隨項羽,逃出歸降了高祖。高祖把他封在穎川為侯。高祖到達洛陽後,召見全部在名冊的列侯,利幾心裡害怕,所以就造反了。
六年(前
201),高祖每五天朝拜太公一次,按照一般人家父子相見的禮節。 太公的家令勸說太公道:「天上不會有兩個太陽,地上不應有兩個君主。當今皇帝在家雖然是兒子,在天下卻是萬民之主,太公您在家雖然是父親,對皇帝卻是臣子。怎麼能夠叫萬民之主拜見他的臣子呢!這樣做,皇帝的威嚴就不能遍行天下了。」後來高祖再去朝見太公,太公就抱著掃帚,面對門口倒退著走。高祖大為吃驚,急忙下車攙扶太公。太公說:「皇帝是萬民之主,怎麼能因為我而亂了天下的規矩呢!」於是高祖就尊奉太公為太上皇,心裡讚賞那個家令的話,賜給他五百斤黃金。
十二月,有人上書報告楚王韓信謀反作亂的事,高祖向左右大臣詢問對策,大臣們都爭著想去征討。最後高祖採用了陳平的計策,假裝去遊覽雲夢澤,在陳縣召見諸侯,楚王韓信來迎接,就趁機拘捕他。當天,大赦天下。田肯來祝賀,趁便勸說高祖道:「陛下抓住了韓信,又在關中建都。秦地是形勢險要之地,周圍有山河環繞,與關東有千里長的疆界被山河阻隔。如果關東擁有百萬軍隊,那麼秦地只需兵力二萬就可以抵擋住。秦地地勢這樣有利,如果對諸侯用兵,就好像從高屋簷角的滴水器往下流水一樣,居高臨下,勢不可擋。還有齊地,東有琅邪(ya,牙),即墨的富繞,南有泰山的險固,西有黃河的天險,北有渤海的地利。土地縱橫各二千里,與諸侯的疆界被山水阻隔,超過千里,如果諸侯擁有百萬軍隊,那麼齊地只需二十萬就可以抵擋住。所以說,齊地可以和秦地並稱東秦和西秦。如果不是陛下的嫡親子弟,就沒有人可以派去做齊王。」高祖說:「好。」賞給他黃金五百斤。
十多天以後,封韓信為淮陰侯,把他原來的封地分為兩個侯國。高祖說,將軍劉賈屢次立功,就封他為荊王,統治淮水以東。又封他的弟弟劉交為楚王統治淮水以西。封皇子劉肥為齊王,統轄七十多座城,老百姓凡是能說齊國話的都屬於齊國。高祖於是評定功績,進行封賞,與各列侯剖開刻有封侯字樣的符節,一半留在朝廷,一半交給受封者,以做憑證。讓韓王信遷徙到太原郡。
七年(前
200),匈奴在馬邑攻打韓王信,韓王信就與匈奴在太原謀反。 他的部將在白土城的曼丘臣、王黃擁立前趙將趙利為王,也反叛朝廷。高祖親自率兵前往討伐。正趕上天氣寒冷,士兵們凍掉手指的有十公之二三,於是趕到平城。匈奴軍隊包圍了平城,七天之後才撤圍離去。高祖讓樊噲留下平定代地。封哥哥劉仲為代王。
二月,高祖從平城出發,經過趙國、洛陽,抵達長安。長安的長樂宮建成了,丞相蕭何以下的官員們都遷到長安治事了。
八年,(前
199),高祖又率軍東進,在東垣一帶追擊韓王信的殘餘反寇。
丞相蕭相何主持營建未央宮,未央宮建東闕、北闕、前殿、武庫、太倉。高祖回來,看到宮殿非常壯觀,很生氣,對蕭何說:「天下動盪紛亂 。苦苦爭戰好幾年,成敗還不可確知,為什麼要把宮殿修造得如此過分豪華壯美呢?」蕭何說:「正因為天下還沒有安定,才可以利用這個時機建成宮殿。再說,天子以四海為家,宮殿不壯麗就無法樹立天子的威嚴,而且也不能讓後世超過呀。」高祖這才高興了。
高祖到東垣去,經過柏人縣,趙相貫高等人設下埋伏,想要謀殺高祖,高祖本想在柏人留宿,可是心裡一動,想到「柏人」字音與「迫人」相同,就沒有住在那裡。代王劉仲棄國逃亡,到洛陽投案自首,高祖廢掉了他的王位,改封為合陽侯。
九年(前
198),趙相貫高等人企圖謀殺高祖的事情被發覺,滅了他們的三族。廢掉了趙王敖的王位,改封為宣平侯。這一年,把原來楚國的貴族昭氏、屈氏、景氏、懷氏和原來齊國貴族田氏等貴族遷到關中。
未央宮建成了。高祖大會諸侯、群臣,在未央宮前殿擺設酒宴。高祖捧著玉製酒杯,起身向太上皇獻酒祝壽,說:「當初大人常以為我沒有才能,無可依仗,不會經營產業,比不上劉仲勤苦努力。可是現在我的產業和劉仲相比,誰的多呢?」殿上群臣都呼喊萬歲,大笑取樂。
十年(前
197)十月,淮南王黥布、梁王彭越、燕王盧綰、荊王劉賈、 楚王劉交、齊王劉肥、長沙王吳芮都到長樂宮朝見高祖。春天和夏天國家太平無事。