公元前 205 年,刘邦毅然高举征讨不义之臣项羽的大旗,向天子及诸侯痛陈项羽以下犯上、杀害义帝楚怀王之罪,斥责其大逆无道,篡夺楚国王位。以此为借口,刘邦号召各诸侯王与自己一同率兵讨伐项羽,为义帝楚怀王报仇雪恨。随后,刘邦率领塞王司马欣、翟王董翳、河南王申阳、魏王豹、殷王司马卯等五路诸侯,总计五十六万大军,兵分三路。趁着项羽身在齐国之机,浩浩荡荡地出击彭城,偷袭项羽的大本营。在此期间,彭越又率三万多人加盟,至此,刘邦麾下人马已接近六十万。自此,楚汉争霸正式拉开帷幕。
战事初期,刘邦顺利攻占彭城。此时的刘邦再度得意忘形,胜利之后便开始坐地分赃,执酒高歌,全然一副小人得志之态。然而,刘邦虽人数众多,却尽是墙头草,用乌合之众来形容毫不为过。此时,项羽果断放弃先打下齐国的战略,亲率三万骑兵,快马加鞭,迅速回援。汉军与楚军在彭城灵壁之东的睢水边上展开大战,与其说是大战,实则是单方面的碾压。汉军大败,睢水因汉军尸体堆积而断流。刘邦惊慌失措,慌忙丢下父母和吕雉,立刻跳车逃命。夏侯婴在路上遇到刘邦的儿女,便将他们接上了车。此时马已跑得十分疲乏,敌人又紧追在后,刘邦心急如焚,有好几次用脚将两个孩子踢下车去,欲扔掉他们以加快逃跑速度。但每次都是夏侯婴下车将他们抱回车上。夏侯婴赶着车子,先是缓缓行走,待两个吓坏了的孩子抱紧他的脖子后,才驾车奔驰。刘邦为此十分生气,有十多次想要杀死夏侯婴,夏侯婴说:“虽然情况危急怎么能忍心抛弃他们?”终于一同逃脱了楚军的追踪。郦食其跟随着太公、吕后从小路走,寻求刘邦,结果在楚军中遇上了。楚军就把他们一行人带回去交给项羽,项羽就把他们扣为了人质。
韩信收集溃散的人马,与刘邦在荥阳会合,于京县、索亭之间成功挡住楚军,楚军无力西进,刘邦也稳住了局面。
汉军在彭城败退之后,塞王司马欣、翟王董翳叛汉降楚,齐国和赵国也背叛汉王,与楚国和解。六月,魏王豹以探望老母疾病为由请假回乡,然而一回到封国,他便立即切断黄河渡口临晋关的交通要道,反叛汉王,与楚军订约讲和。
汉王派遣郦食其前去劝说魏豹,魏豹却不为所动。魏豹说道:“人生一世,犹如日影掠过墙壁,转瞬即逝。刘邦对待诸侯和群臣,毫无上下之礼,常常将我们像奴隶一般谩骂侮辱,我实在无法忍受,再也不想见到他。” 无论是出于内心真实所想,还是碍于形势,既然劝说不成,那就唯有开战一途。
刘邦随即任命韩信为左丞相,命其率领曹参和灌婴一同攻击魏军。韩信向郦食其询问魏军情况,得知魏王任用柏直为将。于是,韩信再次使出 “暗度陈仓” 之计。柏直判断汉军会从最近的渡口临晋(今陕西大荔县东)渡河,便将主力布置在对岸的蒲坂(今山西永济县西),准备封锁渡口,进行阻击。
然而,韩信再次反其道而行之,在临晋大肆收集渡船,作出准备从这里出击的姿态。此消息传到对岸,柏直越发坚信自己的判断,逐渐放松了对其余地区的警惕。
韩信见魏军一直驻守在蒲坂按兵不动,随即指挥主力部队星夜兼程,突然抵达百里之外的夏阳(今陕西韩城)。他从民间大量搜集木桶,以此作为渡河工具,向魏都安邑(今山西夏县北部禹王城)发起猛攻。
此举确实存在极大风险,黄河水深流急,奔腾呼啸,以木桶渡河,无疑是在玩命。然而,风险越高,收益往往越大。魏军主力皆在蒲坂,致使国都空虚。魏王豹惊慌失措,急忙带领军队迎击韩信。最终,韩信俘虏了魏豹,平定了魏地,并将其改制为河东郡。魏王豹又一次向刘邦投降。
刘邦看魏豹认错态度很好,也为了给其他诸侯打造一个典型,刘邦也就没杀他,派他和周苛等人一起镇守荥阳。
刘邦困守荥阳,年年难过年年过。韩信审慎分析当时的形势,提出了北举燕、赵,东击齐,南绝楚之粮道,西与大王会于荥阳的战略建议。从减轻荥阳前线的压力开始,最终达到对项羽实施战略包围的目标。刘邦正是焦头烂额之际,自然是从谏如流。他拨给韩信三万人马,以张耳为副手,北上平定燕赵。