刘邦虽然来到南郑,但他并不甘于受封汉王。只是由于考虑到自己势单力孤,当时才没有立即起来反对项羽,而到了南郑,情况发生了变化:一方面刘邦所率士卒不服水土,讴歌思念东归,他必须立即决断;另一方面,项羽分封不均,齐国田荣反叛,也为刘邦提供了东进的机会。由于诸将士思念故乡,逃亡的很多。治粟都尉(一个负责钱粮的小官)韩信也开小差了。萧何闻讯来不及报告汉王刘邦,便追韩信去了。韩信是淮阴(今江苏)人,出身贫寒。据说,他年轻时,在家乡淮阴有人当众侮辱他,说:“你要是不怕死,就用你的佩剑把我刺死,如果你怕死,那就从我的胯下爬过去。”韩信仔细打量了一下这个人,认为匹夫见辱,拔剑而起,这并不是真正的勇敢,就真的从其胯下爬了过去。项梁率兵北上路过淮阴时,韩信投奔了他。项梁死后,他归到项羽麾下,几次上书献策,项羽都没理睬。刘邦到汉中就任汉王,韩信投靠了刘邦,做了一名掌管钱粮的小官。不久他犯法当斩,俯身就刑,一抬头看见刘邦的部将滕公,便道:“汉王不是想得天下吗?为什么要杀壮士?”滕公见他出言豪壮,身体魁梧,觉得是条汉子,便救了他,向刘邦推荐,刘邦任命他为治粟都尉,未重用。
萧何与韩信几次长谈,十分器重他的才干,也曾向刘邦举荐过,也未引起刘邦的重视。韩信估计萧何已举荐过他,却仍不被重用,遂弃职逃去。
萧何追韩信去了。有人不明真相,奏告刘邦:“丞相也跑了!”刘邦慌得不知如何是好,好像失去了左右手似的。过了两天,萧何回来了,去见刘邦,刘邦又喜又怒地骂道:“你为什么也逃跑?”
“臣不敢逃跑,臣去追逃跑的人。”萧何说。
“你追何人去了?”刘邦问。萧何说:“追韩信。”刘邦又骂开了:“跑掉的将尉已经几十个了,你都没有去追,区区韩信,你倒去追了,一派胡言!”
“那些人都算不了什么。”萧何说,“至于韩信,可是难得的栋梁之才。大王如果只想当个汉中王,没有韩信倒也罢了;如果想拥有天下,没有韩信怕是不行。大王自己拿主意吧!”
“我当然想打出去,怎甘心呆在这里。“刘邦道。
大王若想出汉中,能重用韩信,韩信自会留下;如果不用他,他终究会离开的。”萧何说。
刘邦沉思了片刻,道:“我听丞相的,拜他为将军!”
“拜个将军留不住他。”萧何说。
“那就拜为大将军!”刘邦咬咬牙。
萧何见状,高兴地说:“好极了。”刘邦准备召韩信入见,拜为大将军。萧何说:“大王对臣下不大礼貌,今天召韩信来拜大将,就像召唤一个小孩子来一样。这样随便,是留不住韩信的。大王若决定拜他为大将,就选个吉日,斋戒一番,设个坛场。隆重地拜授,才像个样子。”刘邦依言而行。
拜韩信为大将军后,刘邦问计于韩信。韩信答道:“项羽背弃原约,而改封大王于南郑,这是对大王不公的,降级使用。大王所属将士都是山东的人,日夜希望打回老家去,如果能及时用其锐气,定能制胜,如果等到天下已经安定,民众都各安其所,就没有士气可用了。当务之急就是引兵向东。”同时还全面陈述了项羽可取与三秦可并的计策。汉王刘邦也是这么想的,英雄所见略同,刘邦大喜。
汉王元年(公元前206年)五月,刘邦以萧何为丞相,留守关中,自己与韩信将兵暗渡陈仓(今陕西宝鸡东),袭击项羽分封在关中的三个秦王,揭开了“楚汉战争”的序幕。刘邦首先向项羽分封抵挡他的雍王章邯进攻。章邯率兵迎击,两战皆败,被刘邦困在废丘(今陕西兴平东南,当时为雍国都)。汉王刘邦于是打下雍地。向东咸阳进发,带兵围雍王于废丘。派遣诸将攻城略地,扩充地盘。在汉军的强大攻势下,塞王司马欣、翟王董翳都被迫向刘邦投降。刘邦很快占领了整个关中。楚汉战争正是爆发。
田荣起兵反叛后,自立为齐王。他先任彭越为将军,帅兵万余在梁叛楚,然后支持陈余在赵地起兵反判,完全打乱了项羽分封在东方的统治秩序。而这时刘邦又在西方还定三秦。这就更使项羽手忙脚乱了。 项羽大怒,立郑昌为韩王以据刘邦,命将军萧县(今安徽宿州)县令萧公角进攻彭越,被彭越打败。项羽自己则率军攻打齐、赵。其间张良在韩地巡略,送信给项羽说:“汉王想得到关中,能践行先入关的为王之约,他就会停止进兵,不敢继续东进。”项羽因此就暂时没有西顾之意,而北击齐王田荣。
汉王元年(公元前206年)九月,汉王派遣薛欧、王吸出武关,会合据守南阳的王陵之兵,从南阳去沛地迎接太公、吕后。项羽闻讯,就派兵在阳夏(今河南太康)堵截,王陵等无法前进。
汉王二年(公元前205年)十一月,正当项羽与齐、赵激战时,刘邦率兵出关,向中原进军。汉军声势浩大,河南王申阳主动投降,刘邦置其地为河南郡。郑昌顽抗,被韩信击破,也被迫投降。刘邦回到关中迁都栎阳(今陕西栎阳,在西安市阎良区)。瓦解敌方和巩固后方,刘邦下令,若敌方将领率万人以一郡降,封为万户侯,开放秦朝原来的苑囿园池,让民众耕种。