后来,吕布偷袭刘备,臧霸、昌豨等人都追随吕布,吕布得手后自任徐州刺史,昌豨成了吕布的部下。
吕布被曹操剿灭,昌豨投降了曹操,被任命为东海郡太守。
建安四年,袁术被曹操打败,他想北上投靠自己的侄子袁谭,要从徐州的下邳经过。
曹操派遣刘备和朱灵前去截击。
这时候,袁绍想进攻曹操,刘备等到朱灵回到曹操那儿以后,就借此机会,杀了徐州刺史车胄,占据了下邳自立。
这时候,昌豨背叛了曹操,投靠了刘备。
建安五年,曹操派遣刘岱和马忠去攻打刘备,没有攻下。
曹操亲自率军攻打刘备,刘备失败后逃往袁绍处,昌豨也再一次成为曹操的部下。
等到曹操打败了袁绍,昌豨又一次背叛了曹操。
曹操派夏侯渊和张辽前去攻打,将昌豨的东海郡围困。数月之后,曹军的粮食用尽,打算撤兵。
张辽对夏侯渊说:“最近几天,每当我巡行围城部队,总是看到昌豨盯着我。
还有,昌豨射出来的箭更加稀少了,这一定是昌豨心中犹豫不知道该战还是该投降,所以不奋力抵抗。我想诱使他和我对话,或许可以劝他投降。”
于是就派人对昌豨说:“曹公有命令,让张辽传达给你。”
昌豨果然从城上下来和张辽谈话。
在张辽的劝说下,昌豨答应投降,并跟随着张辽去见了曹操。
曹操继续让昌豨担任东海郡太守,等到曹操彻底平定了冀州,昌豨又反叛了。
曹操派大将于禁征讨,于禁一时没有攻克,就又派了夏侯渊和于禁一道攻打。
于禁急行军攻击昌豨,昌豨一时难以招架。
昌豨过去和于禁有一定的交情,就主动前往于禁大营请求投降。
诸将都认为昌豨已经投降了,应该送到曹操那儿。
于禁说:“汝等不知道曹公一贯的命令吗?被围以后投降的不赦。奉行法令,这是下属服从上级的基本规则。昌豨虽然是我的老友,难道我会因此而失节吗!”
于是亲自同昌豨诀别,流着泪将他斩了,
文臣武将择主而仕原本也是可以理解的。
但像吕布、昌豨、孟达这种反复背叛之人,就在当时也不为人们所容忍,就因为他们除了自己的利益,已经和天下、道义丝毫不沾边了,这样的人,又怎能不被历史正义所唾弃!