漢王四年(前203年),韓信降服和平定了整個齊國,派人向漢王上書說:“齊國狡詐多變,是個反複無常的國家,南邊又靠近楚國,如果不設立一個代理國王來治理它,那局勢就不會穩定,我希望代理齊王,這會對形勢有利。”當時,楚軍正把漢王重重包圍在滎陽,韓信的使節來了,劉邦打開書信,大發雷霆,罵道:“我被圍困在這裏,日夜盼望你來輔助我,你竟想自立為王!”張良、陳平忙暗中踩漢王的腳,湊近他的耳朵說:“漢軍正處在不利的形勢,怎麼能夠禁止韓信稱王呢?不如趁機立他為王,好好對待他,讓他自己鎮守齊國。不這樣,就可能發生變亂。”劉邦也醒悟過來,轉口罵道:“大丈夫平定了諸侯,就做真王罷了,幹什麼做代理國王!”於是派張良前去齊國,帶著齊王的印信,就地封韓信為齊王,征調他的部隊前去攻打楚軍。由此,戰勝項羽,取得天下的大局得以穩定下來。
楚漢以鴻溝為界,中分天下之後,項羽引兵解而東歸,以為可以太太平平當他的霸王了。劉邦也想西行回國,張良、陳平建議說:“漢國已經有了大半個天下,諸侯又都歸附。楚軍兵疲糧盡,這是上天滅亡楚國的絕好時機,千萬不能錯過,應當趁此機會徑直奪取楚地。如今放走項羽不攻,這就叫‘養虎自遣患’!”劉邦聽從了他們的建議。
漢王五年(前202年)冬,劉邦追擊項王到達陽夏(今河南太康)把軍隊駐紮下來,和韓信、彭越約期合擊楚軍。到達固陵(村落名,在今河南太康縣南),而韓信、彭越的軍隊沒來會合。劉邦對張良說:“諸侯不遵守約言,怎麼辦呢?”張良回答說:“楚軍將被粉碎,而韓信、彭越沒有確定的領地,他們不來是當然的。君王如果能夠與他們共分天下,現在立即可以把他們招來。如果不能,事態就難以預料了。君王如果能夠把陳縣以東直到海濱的地區全給韓信,把從睢陽以北到轂城的地區給彭越,讓他們各為自己的利益而戰,那楚國就容易打敗了。”劉邦依計而行,韓信、彭越等諸侯兵很快地會師垓下(今安徽靈壁南),經過垓下之戰,全殲楚軍,結束了楚漢戰爭,取得了爭天下的最終勝利。
漢王六年(前201年),劉邦大封功臣。因張良沒有作戰之功,劉邦說:“運籌策帷幄中,決勝千裏外,子房功也。自擇齊三萬戶。”張良說:“始臣起下邳,與上會留,此天以臣授陛下。陛下用臣計,幸而時中,臣願封留足矣,不敢當三萬戶。”(《漢書。張良傳》)於是劉邦封張良為留侯。已經封過二十多位大功臣之後,其餘日夜爭功不決。許多將領常三三兩兩坐在沙地議論。因為依軍吏計算,整個天下的地盤不夠全部封賞,因而他們擔心皇帝不能夠給每一個有功的人都封賞。高帝問張良該怎麼辦?
張良建議劉邦把他平生所憎恨,君臣也都知道的雍齒先行封為什方侯。這一來擔心的人們高興了。說:“雍齒尚且封侯,我們這些人不必擔憂了。”天下統一後,劉邦與大臣商議國都應建在何處。劉敬建議建都在關中。而跟隨高帝的左右大臣都是山東人,多數勸皇上都洛陽:“雒陽東有成皋,西有肴、黽,背河鄉雒,其固亦足恃。”(《漢書。張良傳》)劉邦猶豫不決。張良說:“雒陽雖有此固,其中小,不過數百裏,田地薄,四麵受敵,此非用武之國。夫關中左肴、函,右隴、蜀,沃野千裏,南有巴、蜀之饒,北有胡苑之利,阻三麵而固守,獨以一麵東製諸侯。諸侯安定,河、渭漕挽天下,西給京師;諸侯有變,順流而下,足以委輸。此所謂金城千裏,天府之國。劉敬說是也。”於是劉邦當天動身,往西定都關中(長安)。
劉邦稱帝後,一直覺得呂後所生太子劉盈(即後來的惠帝)生性懦弱,不像自己,而喜愛戚姬所生趙王如意,因此屢次想廢掉太子劉盈而立如意為太子。在封建社會太子韻廢立往往關係政權的穩定,所以當時的大臣叔孫通、周昌等都犯顏強諫,但都沒得到高帝的肯定。呂後很恐惶,想盡一切辦法都不見效,最後逼張良給出主意。
張良認為,這不是以口舌爭所能解決的問題,建議讓太子劉盈“卑辭安車”去迎請高帝很想招致但總也沒請到的四位很有名望的賢人,須發皆白的四位老者——四皓,讓他們跟隨太子入朝,使高帝見到,表明太子劉盈得到民眾擁護。這一著果然見效,高帝見到四皓跟隨太子,看到人心所向,大勢所趨,就放棄了廢立的主意。此後張良多數時間稱病不出,自言:“家世相韓,及韓滅,不愛萬金之資,為韓報仇強秦,天下震動。今以三寸舌為帝者師,封萬戶,位列侯,此布衣之極,於良足矣。願棄人間事,欲從赤鬆子遊耳。”(《漢書。張良傳》)於是學道,不問政事。劉邦去逝後,呂後感激張良,令其強食其邑,並說:“人生一世間,如白駒之過隙,何自苦如此!”(《漢書。張良傳》)張良不得已,強食其邑。六年後張良去逝。諡文成侯。其子張不疑嗣侯。據正史記載,他曾經與韓信一同整理了春秋戰國以來182家軍事著作,還根據實際需要刪定35家,開創了日後兵書整理注釋的先河。