曹宣公十七年(公元前578年),夏天,晋厉公、齐灵公、宋共公、卫定公、曹成公、郑成公、曹宣公、邾定公、滕文公会盟,讨伐秦国。五月,曹宣公在军队里逝世。曹国公子负刍留守,公子欣时去迎接曹宣公尸体。
秋季,公子负刍杀了曹宣公的太子,而自立为国君,诸侯请求讨伐他。晋国人认为公子负刍在和秦国作战中有功劳,请求等到以后再讨伐。
冬季,安葬曹宣公。安葬以后,子臧准备逃亡,曹国人都要跟随他逃亡。曹成公负刍才感到恐惧,承认罪过,而且请求子臧留下来。子臧返回曹国,然后把采邑还给曹成公。
曹宣公二年(公元前576年),春季,晋厉公、卫献公、郑成公、曹成公、鲁成公、宋国世子成、齐国国佐、邾人在戚地会盟,讨伐曹成公。逮捕曹成公并且送到京师。《春秋》记载“晋侯执曹伯”,这是由于曹成公对百姓有罪过。凡是国君对百姓无道,诸侯讨伐而且逮捕了他,就说“某人执某侯”,否则就不这样记载。
诸侯想让子臧进见周王,进而立为曹国国君。子臧辞谢说:“古书上说:‘圣人通达节义,其次保守节义,最下失去节义’。做国君不合于我的节义。虽然不能像圣人那样,岂敢失节呢?”于是逃往宋国。
曹成公三年(公元前575年),秋天,六月,曹国人向晋国请求说:“自从我先君宣公去世,国内的人们说:‘怎么办?忧患还没有消除。’而贵国又讨伐我寡君,因而使镇抚曹国国家的公子子臧逃亡,这是在大举灭曹,莫非由于先君有罪吧!可是如果有罪,那么君王又使他参加会盟。君王不丢失德行和刑罚,所以才能称霸诸侯,岂独丢弃敝邑?谨在私下向贵国表达真情。”
七月,曹国人再次向晋国请求。晋厉公对子臧说:“你回去,我送回你们国君。”子臧回国,曹成公也回来了,子臧把他的封邑和卿的职位全部交出去而不再做官。