成公二年,楚成王和同盟诸侯包围了宋国,宋国大夫赶到晋国请求援助。
成公三年,即公元前六三二年,晋国为解宋国之围,欲对楚之同盟曹国下手,想要借道卫国攻曹以救宋。
可是卫成公没有答应,晋国就只能改道渡南河。
晋国想要在卫国境内征集军队,卫国的大夫们准备应许,但卫成公不同意。
当时晋国势大,可卫国与晋国已然交恶,晋文公欲要报当年无礼之仇,卫成公欲与晋国结盟而不成,欲要与楚国盟约而大臣不允。
晋文公其后讨伐卫国,卫国不敌,晋文公分割部分卫国土地给予宋国,以此惩戒卫国。
卫国大夫元咺于是发动了叛乱,攻击卫成公,卫成公不敌逃亡至陈国。
元咺改立卫成公之弟公子瑕为卫君,史称卫中废公。
两年之后,卫成公通过周王室向晋文公请求原谅,可晋国派人下毒药想要害死卫成公。
成功通过贿赂下毒的人,让他少放一些毒,得以不死。
在周襄王的请求下,卫成公终于如愿回到了卫国。
成公回到卫国之后,就是诛杀了元咺,卫中废公逃出了卫国。
成公七年,晋文公去世。
但是晋国的国力依然强大,成公十二年,卫成公前往晋国朝见晋襄公。
成公三十五年,成公去世,其子公子遬继位,史称卫穆公。