在经历了那一件事情之后刘邦率领汉国精兵起兵反楚,项羽则因为不想这么早跟刘邦打出兵,于是带兵支援齐地,刘邦就趁项羽去往齐地之机,袭占关中。
同年四月,齐、楚军胶着于城,楚都彭城空虚。刘邦即以项羽杀害楚怀王为口实,在洛阳聚集各路诸侯联军三十万,分路进攻彭城。
汉将曹参、灌婴、周勃等率军从围津渡过黄河,攻占煮枣,击败楚大将龙且、项佗于定陶,兵抵胡陵,从西北面抄袭彭城;将军薛欧、王吸、王陵率军由经叶县出阳夏,从南面攻楚;刘邦率夏侯婴、卢绾及各路诸侯军经曲遇,向东南攻占外黄时,彭越率3万人马归附。
为掩护联军侧后,刘邦拜彭越为魏相,令其攻占梁地。此后,刘邦军由西向东连克砀,萧,顺利攻占彭城。
项羽闻讯,觉得这刘邦已经铁了心要跟自己对到底也就不想留情,留部将继续攻齐,自率精兵3万由鲁迅速南下,出胡陵占领萧县,切断联军退路,随后,由西向东反攻。
楚军乘刘邦纵情享乐,疏于防范之机,晨时开始进攻,中午即大破联军,将刘邦所部挤压于谷水、泅水之地。联军自相践踏,被楚军斩杀10余万人,余部向西南山地溃退。
楚军追至灵壁的睢水再歼联军10余万汉军逼入睢水,并围困刘邦,意图生擒。值大风骤起,飞沙走石,刘邦率数十骑乘机逃走。此战,刘邦遭到严重挫折,诸侯纷纷背汉向楚。
刘邦进军关中,定三秦时,项羽正率主力攻齐,知悉关中的情况后,项羽在回师击汉还是继续攻齐问题上举棋不定。就在项羽犹豫不决时,刘邦让张良致信项羽,表示:汉王失职,欲得关中,如约即止,不敢东。以麻痹项羽,并将田荣、彭越反楚书信送给项羽,声称:齐俗与赵并灭楚。项羽果然上当,不再疑虑刘邦,继续全力攻齐,仅命郑昌为韩王,领少量兵力防备刘邦东进。
八月,楚军在城阳大破齐军,田荣败退到平原,被当地人杀死。项羽另立田假为齐王,继续进军北海。楚军沿途烧夷齐城廓室屋,皆坑田荣降卒,系虏其老弱妇女。徇齐至北海,多所残灭。齐民相聚而叛之。
九月,田荣弟田横收编数万残兵,立田荣子田广为王,占据城阳一带,在齐地百姓的支持下,与楚对抗。楚军接连失利,陷入困境。
此时,刘邦已夺取了三秦绝大部分地区。十月,刘邦率军由函谷关出陕县东进,河南王申阳投降,继而又迫降韩王郑昌。三月,刘邦将关中军务全部交给张良,自领大军由临晋东渡黄河,魏王豹未作抵抗即归附刘邦,并协同汉军攻下河内地区,殷王司马卬也归降刘邦。
接着,刘邦又南渡黄河,到达洛阳新城,在这里,他接受了董公的建议,为义帝发丧,号召诸侯共击项羽,为义帝报仇。四月,刘邦率5个诸侯的联军共56万人,直扑彭城。在外黄,彭越率3万人归汉,刘邦命他略定梁地。
联军沿途未经战斗,乘虚占领了彭城。刘邦入彭城,满足于已得胜利,尽收项羽宫中货宝美妇,整日饮酒高会,疏于戒备。
项羽闻彭城失陷,大惊,命诸将继续攻齐,自率3万精锐骑兵急驰还救彭城。楚军由鲁南出胡陵,进至萧,首先击溃汉军一部。
接着又绕道至彭城西、南两面,切断了联军归路。拂晓时,楚军由西向东猛袭联军侧背,联军乱作一团,自相践踏,根本无法组织有效的抵抗。
至中午,联军大败。楚军将联军压缩于谷水、泗水,斩杀十余万人,接着南追溃敌至灵壁以东的睢水之上,又歼灭十余万,睢水为之下流。
联军被楚军紧围3重,刘邦无法逃脱。突然大风猛袭而来,一时间飞沙走石,乱军中,刘邦率十余骑终于突围而逃,奔至荥阳。
彭城一战,刘邦遭到了自起兵以来的最大的惨败,其部下及其妻子吕雉都被楚军俘获,众诸侯也纷纷背汉向楚。
项羽在这一战中,充分表现了他英勇果敢、雄才大略的军事指挥才能,飞兵千里,以少胜多,几乎全歼刘邦军。但是,项羽没有乘胜穷追刘邦,使刘邦又一次得到了喘息的机会。
项羽在范增的建议下,与范增合围荥阳,打算把刘邦消灭。刘邦非常害怕,采取陈平的计策,离间项羽和范增,项羽于是剥夺了范增的权利。范增没有想到项羽竟然会怀疑自己和刘邦有勾结,十分气愤,于是告老还乡,但在途中病死。
项羽将荥阳的刘邦四面围定攻打,刘邦军势非常危急,部将纪信于是引两千军乘黄车假扮刘邦出城,说刘邦愿意投降,项羽赶来见到纪信问刘邦在哪,纪信说刘邦已经逃走了,项羽于是将纪信烧死。
项羽攻下荥阳,处死荥阳守将周苛、枞公。而刘邦走宛、叶,派人说服英布背叛项羽,进入成皋。项羽得知后迅速率兵前来攻打,夺下成皋,一路西进。刘邦逃亡巩县,派重兵阻挡,项羽无法挺进。
此时,彭越渡河攻击东阿,楚将薛公兵败身死,项羽于是亲自率军攻打彭越,彭越败走,但成皋却被刘邦趁机夺下。
项羽回军与刘邦对峙于广武,相持了几个月。项羽向刘邦单挑,但刘邦不肯,于是,项羽派壮士出来挑战,但被楼烦人射杀。
项羽大怒,身披铠甲手持长戟来挑战,楼烦人准备射项羽,项羽怒目而视,将楼烦人吓得不敢出来。刘邦听闻后,出来和项羽对话,项羽又向刘邦挑战,刘邦不从,项羽以弩射伤刘邦,刘邦退入成皋。
汉国一个新的大将韩信于河北攻破齐、赵等国,并准备进攻楚国,项羽派大将龙且前往进攻韩信,但却被韩信所破杀,这时,彭越又于上谷城复出,项羽大怒,亲自前往救援,留大司马曹咎原地待守,并告诫他不要出战,只需守住十五日即可。
项羽走后,刘邦军前来挑战,曹咎大怒,引兵渡汜水,刘邦军趁机发动进攻,大破曹咎军。
项羽听闻曹咎兵败,引兵而回。这时,刘邦军正于荥阳东围攻钟离眜,听到项羽回来了,非常害怕,全部退走。
项羽腹背受敌,又粮草不继,于是,送还刘邦家眷,与刘邦签订盟约,以鸿沟为界,暂时休战。