等到沛公到达薛地,见到项梁。项梁拥立楚怀王。张良于是劝说项梁道:"您已经拥立了楚王,而韩国的公子横阳君韩成很贤明,可以立他为王,以增加同盟者。"项梁派张良找到韩成,立他为韩王。任命张良为韩王的司徒,和韩王率领一千多人向西攻取韩地,夺得几座城邑,秦军立刻又夺了回去,韩军在颍川一带往来游击作战。
沛公从洛阳南出頧辕山的时候,张良率兵跟随沛公,攻占韩地的十几座城邑,打败了杨熊的军队。沛公于是让韩王成在阳翟留守,和张良一起南下,攻克宛城,向西进入武关,沛公想用二万人的兵力攻打秦朝关下的军队,张良劝他说:"秦军还很强大,不可轻视。我听说关的守将是屠夫的儿子,这种市侩很容易用利益去打动他。希望沛公暂且留在军营,派人先去,准备好五万人的粮饷,在各个山头多张挂一些旗帜,作为疑兵,命令郦食其带上贵重宝物去收买秦将。"秦将果然反叛,想跟沛公联合向西袭击咸阳。沛公想答应他,张良说:"这只是秦军的将领想反叛罢了,恐怕秦军的士卒不肯听从。不听从就一定有危险,不如趁秦军懈怠进攻他们。"沛公于是率军攻打秦军,大败秦军。追击逃敌直至蓝田,再次交战,秦军终于彻底溃败。于是到达咸阳,秦王子婴投降了沛公。
沛公进入秦朝的宫殿,里面的宫室帷帐、狗马珍宝和美女数以千计,沛公内心想留在宫中居住。樊哙劝谏沛公出宫居住,沛公不答应。张良说:"因为秦朝暴虐无道,所以沛公才能到达这里。大凡为天下铲除暴秦,应当以朴素为本。如今刚刚进入秦国,就安享快乐,这就是所谓的'助桀为虐'。再说'忠言逆耳利于行,良药苦口利于病',希望沛公听从樊哙的意见。"沛公于是回师驻扎在霸上。
项羽到达鸿门下,想攻打沛公,项伯于是乘夜急驰进入沛公的军营,私下会见张良,想让张良跟他一起离开。张良说:"我为韩王护送沛公,如今事情紧急,逃走不符合道义。"于是把情况都告诉沛公。沛公大为惊慌,说:"这该如何是好?"张良说:"沛公确实想背叛项羽吗?"沛公说:"有个卑鄙小人教唆我把守函谷关不要让诸侯进来,这样就可以全部占有秦国的土地而称王,所以听了他的话。"张良说:"沛公你自己估计能够击退项羽吗?"沛公沉默了很长时间,说:"确实还不能。如今该怎么办呢?"张良于是坚决邀请项伯会见沛公。项伯与沛公相见。沛公敬酒为项伯祝寿,而且跟他结为亲家。让项伯向项羽详细说明沛公不敢背叛他,之所以把守函谷关,是为了防备其它盗贼。等到沛公见了项羽之后,两人和解,这些事记载在《项羽本纪》中。