刘邦听说英布造反,亲自率领大军去讨伐。当两军对阵的时候,刘邦看到英布的阵势跟项羽相似,他的心里不禁有些发毛。他责问英布说:“我已经封你为王,你为什么还要造反?”英布破口大骂,骂刘邦杀韩信、彭越、凶狠歹毒,不仁不义,逼得他也走投无路,不得不起兵造反。
英布把刘邦骂了个狗血淋头,刘邦被他揭了短处,不由得恼羞成怒,又听说英布要夺取他的皇位,气得火冒三丈,立即下令发动进攻,他费了九牛二虎之力,才打败英布,平定了这场叛乱。战斗中,刘邦被飞箭射伤,从此就一病不起。
刘邦在英布那儿吃了苦头以后,越发不放心刘家的天下了,他把异姓王一个个地消灭了,又把自己的所有子弟都封了王,想要以此来使刘家的天下永存下去。
公元前195年,刘邦知道自己很快就要不久于人世了,他召集了所有的文武大臣们到太庙里去立誓。刘邦让手下人牵来一匹白马,亲自主持了杀马宣誓的仪式。他端起一杯冒着热气的马血酒起誓说:“我自从做了皇帝以后,已经12年了。当年有很多人追随我打天下,出生入死,南征北战,我已经给了他们许多应有的奖赏,有很多人被封王封候,手中掌管不少土地。我从自己的良心上说,已经对得起他们了。但是这些人当中,有不少人骄傲自大,自以为对国家有功就目空一切,甚至贪心不足,举兵反叛,想要抢夺我刘家的天下。现在我在这里当着祖宗的灵位,为子孙后代留下一条不许违反的信条,希望大家发誓遵守:从今以后,凡不是刘姓的人,一概不许封王;凡是没有立大功的人,一律不许封侯。谁要是违反这个盟约,天下人就共同讨伐他!”
刘邦起誓完毕,把马血酒半杯倒在地上,剩余的半杯一口气喝了过去。在场的所有人也都照他的样子,每人喝了马血酒,发誓一定要永远遵守这个盟约。刘邦杀马立誓,是为了防止异姓王造反,保住刘家的天下。他以为这是一条长久之计,但他万万没有料到第一个起来造反,违背这个盟约的人竟是他自己的妻子吕后和吕氏子弟。