數橫陽君韓成最有才能,你可以立他為韓王,多樹立一點朋友。”子是項梁便派張良去請韓成,將他立為韓王。讓張良為韓國申徒,同韓王一起率領一千多人往西去收復韓國土地,雖然攻佔了幾座城池,但很快又被秦重新奪回去,他們便在穎川一帶來來往往地遊動作戰。
劉邦的隊伍從洛陽南部向轘轅出擊,張良引兵與劉邦會合,攻克了屬於韓國的十多座城,打敗了楊熊的軍隊。於是劉邦便命令韓成在韓都陽翟留守,他和張良一起南下攻克宛城,向西攻入武關。劉邦想用兩萬人的兵力去攻打嶢關的秦軍,張良對他說:“秦兵還十分強大,不可輕敵。我聽說那裡的守將是一位屠戶的兒子,商人便可以用利去引誘他,希望你暫時留守,派人先行一步,準備好五萬人的食物,並在各個山頭插滿旗幟,作為疑兵,派酈食其帶上財寶去收買秦軍將領。”泰將果然背叛,想聯合起來向西攻打咸陽。劉邦準備接受,但張良勸阻他說:“這只是將軍們想叛變,士兵恐怕不會服從。如果士兵們不服從就危險了,不如乘秦軍鬆懈不備襲擊他們。”於是劉邦便帶兵襲擊秦軍,把他們打得大敗。便北上藍田,又打了一仗,秦軍竟然被打敗。劉邦率軍直抵咸陽,秦王子嬰向劉邦投降。
劉邦進入秦宮,看到數不盡的宮室、帷帳、狗馬、貴重寶物和宮女們,便想留下來住在宮中。樊噲向劉邦建議撤出宮去,劉邦不接受。張良對劉邦進諫說:“正因為秦王無道,你才能夠打敗他們進入宮中。你要想為天下徹底推翻暴秦,就應當身著儉素作為依靠。如今才剛進入秦宮,就安於宮中的享樂,這才真正算得上是幫助暴君殘害百姓。更何況忠言雖然不好聽,卻有利於行動;良藥喝起來雖然很苦,卻對治病有好處。希望沛公能夠聽從樊噲的勸告。”於是劉邦便將軍隊撤回到霸上。
項羽率大軍來到鴻門,準備攻打劉邦,項伯在深夜驅馬來到劉邦軍中,悄悄找到張良,想帶他一道離開。張良對他說:“我是奉韓王之命輔佐沛公西征,如令形勢這般危急,我逃走就太不講義氣了。”張良便去對劉邦將此事講了,劉邦大為震驚說:“我該怎麼辦?”張良說:“你真是想背叛項羽嗎?”劉邦說:“是鯫生向我建議守住關口不準諸侯入關的,這樣便可以在秦的地方稱王,所以我才聽了他的。”張良說:“你自己估計能抵擋得住項羽嗎?”劉邦默默地想了許久才說:“當然不能,現在有什麼辦法呢?”於是張良堅持要項伯與劉邦會見,項伯只好去見劉邦。劉邦設宴舉杯為項伯祝福,並結為兒女親家。還讓項伯轉告項羽,說劉邦並不敢背叛他,之所以閉關自守,完全是為了防備強盜竄入。等到項伯稟告項羽之後,這件事也就化解了,詳情記錄在項羽的紀事中。
漢元年的正月,項羽分封劉邦為漢王,封地在巴蜀。劉邦賞賜給張良黃金百諡、珠寶兩鬥,張良都將它送給了項伯。劉邦又命張良重金收買項伯,讓他去請求項羽把漢中封給他,結果項羽也答應了,劉邦於是便得到了漢中的土地。劉邦率隊伍到他的封地去,張良送他到褒谷的途中,劉邦讓張良回到韓王那裡去。臨別時張良向劉邦獻策說:“你何不將走過的棧道燒燬,向天下顯示你不再回來了,以便使項羽放心。”劉邦讓張良歸去,他繼續西行,邊走邊燒燬棧道。
張良回到韓王成那裡,韓王成因為讓張良輔佐了劉邦,項