汉元年八月,刘邦用韩信的计谋结果受阻陈仓,须昌侯赵衍从汉王起汉中,雍军塞渭上,上计欲还,衍言从他道,道通,趁项羽北攻田荣时,再在好畴击溃章邯,最后围困章邯于废丘。
同月,塞王司马欣、翟王董翳被迫向汉王刘邦投降。
之后几个月,刘邦遣将攻取陇西、北地、上郡。
这样,三秦除章邯困守的废丘之外全部归汉。
而此时因项羽杀韩王成,张良间行归汉,派人遗书项羽,称“汉欲得关中,如约即止,不敢复东。”
项羽以故无西意,而北击齐。
刘邦略取关中时,九月,命令薛欧、王吸出武关,与王陵联合,迎接刘太公和吕后于沛。
十月,汉王拜韩王信为韩国太尉,令其循韩地,并许之若定韩地则拜其为韩王。
项羽平齐韩信循韩地,下十余城,项羽所立之韩王郑昌降,汉元年十一月汉立韩王信为韩王。
汉元年十月,汉王刘邦进至陕。
在汉基本平定关中之后,开始准备东进了。
汉二年一月,项羽闻知刘邦已兼并三秦,且准备东进伐楚,而赵国、齐国、梁地都已反叛,项羽以齐国与梁最近,威胁最大,北上攻打齐国,项羽派使者向英布征其一同前往,但英布仅以老弱敷衍,项羽对此深为不满,几次遣使斥责。
田荣得知项羽击齐,率军迎击,被项羽打败。
逃至平原,平原民杀了田荣,投降项羽,项羽立田假为齐王。
但项羽采取错误政策,不仅不予召抚,反而怒田荣反,迁怒齐人,大肆屠杀,所过残灭。
于是,齐人纷纷复叛,项羽奔走于齐地,但远不能扑灭齐地战火。
田荣弟田横驱逐田假,立田荣的儿子田广为齐王,自领齐相,收集齐国败兵,在城阳反抗项羽,项羽一时没能攻下城阳。
此时,刘邦正在向东进军,魏王魏豹降汉,殷王司马昂也降汉,项羽封陈平为武信君,令其平定殷国,于是司马昂又降楚。
过了没多久,汉王刘邦攻打殷王,平定殷地,俘虏了司马昂。
项羽得知后大怒,要诛杀平定殷国的将吏,陈平很害怕,于是来投汉王刘邦。
彭城之战、睢水之战汉二年四月,刘邦进至洛阳,接受董公“兵出无名,事故不成”、“明其为贼,敌乃可服”的建议,
以项羽杀害义帝为口实,为义帝报仇讨逆为政治号召,令三军丧,缟素三日,檄文布告全国:“天下共立义帝,北面事之。
今项羽放杀义帝于江南,大逆无道。
寡人亲为丧,诸侯皆缟素。
悉关内兵,愿从诸侯王击楚之杀义帝者”联络各地诸侯王,趁项羽滞留在齐国时,渡过临晋关,至河内,纠集塞、翟、魏、赵、殷五国诸侯联军56万,兵分两路攻楚,北路由曹参、灌婴统率,进攻定陶,击败龙且、项它。
南路为刘邦亲自统率,部将为张良、陈平、韩信、吕泽、张耳、夏侯婴、樊哙以及五诸侯军,至外黄,击败楚将程处、王武,彭越率三万人归附刘邦,刘邦封彭越为魏相国,攻打梁地,派樊哙北上攻打邹县、鲁县、薛县、瑕丘,以阻止项羽从齐国南下,向东攻打下邑、派吕泽驻守,下邑在萧县西面不远,萧县在彭城西面不远,项羽南下救援彭城必经萧县。
这样,如果项羽回援彭城,吕泽可以与刘邦东西两面夹击项羽。
与北路军曹参、灌婴会合,进攻砀县、萧县,攻取彭城。
项羽得知后,留众部将继续击齐,自率精兵3万疾驰南下,先击败驻守在鲁县的樊哙,当时刘邦等众诸侯已入彭城,收其货宝美人,置酒高会。
项羽乘刘邦陶醉于胜利,戒备松懈之际,率军绕至彭城西。
在清晨时,动突然袭击,驻守在下邑的汉将吕泽没来得及作出反应,刘邦不得不撤出彭城。
楚军于是大败汉军,汉军往泗水方向溃逃,楚军紧追不舍,杀汉军十余万人,一直追击至灵壁东濉水,汉军相互拥挤、践踏,加上楚军追杀,汉军十余万人皆入濉水,濉水为之不流。
此役,汉军被歼数十万。
刘邦急率残部先在砀县整顿,然后向西与吕泽会合。
诸侯见刘邦败,转投项羽,塞王司马欣和翟王董翳入楚为将。
赵国现汉并没有杀张耳,赵兵退去反与汉为敌,魏王魏豹回到荥阳,断绝了黄河渡口,也背叛了刘邦,只有彭越独自带领他的军队向北驻守在黄河沿岸。
项羽虽取得彭城之战胜利,但齐地战事却不利。
在其率军击诸侯联军时,田横尽收齐地。
但田横复国后并未攻楚,而是中立于楚汉之间,直至郦食其说齐。
下邑画谋刘邦到下邑,父亲刘太公、母亲刘媪和妻子吕雉被楚军俘获,被拿住做人质,刘邦派人去沛县寻找家室。
张良向刘邦规划下一步对策。张良说:“九江王黥布,楚枭将,与项王有隙;彭越与齐王田荣反梁地:此两人可急使。而汉王之将独信可属大事,当一面。即欲捐之,捐之此三人,则楚可破也。”
刘邦采纳张良建议。