左右近臣谏劝道:“有不少人跟随您进入蜀郡、汉中郡,其后又征伐西楚,有功却未得到普遍封赏,现在这几个人有什么功劳而予以封赏?”刘邦说:“这就不是你们能懂的了!陈豨反叛,邯郸以北全都被他所占领,我用紧急文告来征集天下各地的军队,但至今仍未有人到达,现在可用的就只有邯郸一处的军队而已。我何必要吝惜封给四个人的四千户,不用它来抚慰赵地的年轻人呢!”近臣们应声道:“对啊!”
于是,刘邦又问:“陈豨的将领都有谁?”近臣们回答说:“有王黄、曼丘臣,以前都是商人。”刘邦说:“我知道该怎么应付了。”于是,各自悬赏千金来求购王黄、曼丘臣等将领的人头,又拿出许多金钱来诱降陈豨的部将,很多人因此投降。刘邦征集天下之兵时,也向梁王彭越征兵,但是彭越自称生病,只派出将领带着军队到邯郸,刘邦为此非常生气。
刘邦在邯郸讨伐陈豨等人还没有结束,陈豨的将领侯敞带领一万多人流动作战,王黄驻军曲逆。舞阳侯樊哙攻打陈豨与曼丘臣军队,在襄国县开战,攻破柏人县,以先锋部队最先登城破门。平定清河郡、常山郡等地二十七个县。太仆夏侯婴参与对陈豨部队的作战,陷阵杀敌,曲逆侯陈平以护军中尉身份从军征战,御史大夫赵尧也随同刘邦征伐。
颍阴侯灌婴率领汉军在曲逆城下击败陈豨的丞相侯敞,麾下士卒斩杀了侯敞和五名特将,车骑将军靳歙统率梁、赵、齐、燕、楚等诸侯国的车骑部队,分路进攻陈豨的丞相侯敞的部队,将他们击破,因而迫使曲逆城投降。陈豨的将领张春渡过黄河进攻聊城,汉派将军郭蒙与齐国的将领出击,把他们打得大败。齐国相国曹参在聊城攻破陈豨的将领张春的部队,汉军斩首一万多人,打下曲逆县后,灌婴又平定了卢奴县、上曲阳县、安国县、安平县等周边城邑。
陈豨的将领赵王后裔赵利防守东垣县,刘邦亲自攻打东垣。一个多月后,赵利的士卒辱骂刘邦,刘邦十分气愤,右丞相郦商、颍阴侯灌婴,也一同参与了东垣之战。东垣投降后,凡是骂刘邦的士卒一律斩首,其他没骂的士卒则处以黥刑,在脸上刺字,并把东垣改名真定。
旧楚王韩信在长安谋反的密谋被告发,吕后想召韩信入宫,又怕韩信和他的党羽不到位,于是和萧何合谋,假装让人从刘邦那边回来,宣告陈豨已败亡,召令列侯、群臣入宫庆贺,最终韩信被设局杀死在长乐宫钟室,夷灭三族。
韩王信再次与匈奴骑兵入侵驻扎在参合县,与汉军对峙,太尉周勃经由太原郡进军征讨代地,到达韩王信的旧都马邑,久攻不下,将马邑屠城。所部士卒杀死了陈豨的将军乘马絺,在楼烦击破代王陈豨、韩王信、赵王赵利的部队。活捉了陈豨的将领宋最、雁门郡守圂,乘势转攻云中郡,擒获了郡守遬、丞相箕肆、将军勋,平定雁门郡十七县,云中郡十二县。
左丞相樊哙攻破尹潘军于广昌、俘虏綦毋卬于无终县,在代郡南边击破陈豨别将匈奴人、王黄的军队,趁机攻打韩王信军队于参合,军团所部将士斩杀韩王信。齐相国傅宽随军攻打陈豨,归属太尉周勃指挥,之后以齐相国身份代替左丞相樊哙指挥攻打陈豨。
梁王彭越因与梁国太仆有矛盾,被太仆上告谋反,再加上之前讨伐陈豨时不听调令,刘邦于是派人逮捕彭越,贬为庶民,原本是将彭越流放蜀地青衣县,但是因为吕后的中途介入,彭越最终被夷灭三族,做成肉酱分发给诸侯,淮南王英布因此大为惊恐,秘密集结军队警戒邻国郡县的紧急情况。
刘邦从南面邯郸攻击陈豨军队,燕王卢绾亦率兵从东北攻打陈豨,当时陈豨派遣王黄求救于匈奴,卢绾原本要派人阻止,但后来被手下张胜说服,派人勾结匈奴与陈豨,意图养寇自重,想让陈豨长久流亡在外,在边界造成连年不绝的冲突,保障各自的权势与性命。
淮南王英布造反,向东进兵攻杀荆王刘贾,吞并其领地,往北渡过淮河,楚王刘交逃往薛县,刘邦带病亲自领兵前往讨伐英布。刘邦在会甀击败英布,英布逃走,之后英布受到当时的长沙王吴臣之子吴回的诱骗,最终被斩杀于番阳。
周勃军团再次在灵丘攻打陈豨,把陈豨击溃,俘获陈豨的丞相程纵、将军陈武、都尉高肆,平定代郡九县。樊哙军团在横谷击溃陈豨的匈奴骑兵部队,斩杀将军赵既,俘虏代国丞相冯梁、郡守孙奋、大将王黄、将军大将一位、太仆解福等十人,与诸将共同平定代地乡邑七十三个。王黄、曼丘臣的部下所有被悬赏通缉的,一律都被活捉,因此陈豨的军队也就溃败了。
刘邦回到洛阳后说:“代郡地处常山的北面,赵国却从山南来管控它,太遥远了。”于是,就封儿子刘恒为代王,起初定都晋阳,后改定都中都。代郡、雁门郡都隶属代国,以傅宽代替陈豨原有的职务,成为代相将屯监边。樊哙所部将士公孙耳追击陈豨,在灵丘将他斩首。