晋文公平定周朝内乱,杀了叔带,护送周襄王归国,恢复了王位,重掌周政权。为了表示谢意,周襄王把河内土地赏赐给晋国。并任命晋文公为诸侯长,成为中原霸主,晋国在诸侯中的影响力越来越大。
晋文公四年,楚成王和诸侯包围了宋国,宋派公孙固向晋国求救。因当年晋文逃亡路过宋国时,宋襄公以诸侯之礼款待晋文公,并赠送文公很多礼物,帮助晋文公度过难关。晋国又是诸侯长,宋国有难,不出手相助说不过去。先轸说:“报答宋襄公赠马之恩稳固晋国霸业,就看我们的行动了。”
晋文公听了先轸之言,微微点头,心中已有了计划。但楚国实力不容小觑,贸然出兵,胜负难料。狐偃进言道:“楚国刚与曹国结盟,又与卫国通婚。我们若去攻打曹、卫两国,楚国必定会分兵救援,如此一来,宋国之围自解。”
晋文公眼睛一亮,觉得此计甚妙。于是,晋国开始厉兵秣马,准备讨伐曹、卫以救宋。晋文公组建了三支军队,赵衰推荐郤縠统领中军,郤臻协助他。派狐偃统领上军,狐毛协助他。栾枝统率下军,先轸辅佐他。赵衰被任命为上卿。
这年冬季十二月,晋国大军浩浩荡荡地向曹、卫两国进发。首先攻占太行山以东的地区,将原太行山以东地区,原邑封给赵衰。曹、卫两国是小国,军事实力一般,面对晋国的精锐之师,曹、卫只能坚守,不敢出战。
楚成王得知晋国派兵围困曹、卫,知道这是晋为解救宋国危机,果然如狐偃所料,楚国只好分兵去救援。而此时,晋国已暗中与齐国、秦国结盟,形成了强大的军事联盟。楚国派兵前去救援卫国,没有成功,陷入了多面受敌的困境。
晋国军队包围了曹国。曹国君共公听闻晋国大军围城,焦急万分后悔当初没有听大夫厘负羁的话,才有今日之难。他深知曹国难以抵挡晋军,便召集大臣商议对策。有大臣建议向楚国求救,可楚国此时自身也被多方牵制。
曹共公无奈之下,竟想出一险招,他命人在城墙上挂满了晋国士兵祖先的画像,以此来羞辱晋军,妄图激怒他们,让晋军自乱了阵脚。晋军士兵看到祖先画像被挂于城墙,个个义愤填膺,纷纷请战。晋文公见状,为稳定军心,下令攻城。
晋军士兵奋勇向前,曹国虽拼死抵抗,但终究不敌。最终,晋军攻破曹国都城,曹共公被俘。晋文公指责曹共公当年无理:“不帮助也就算了,怎么可以偷看人家洗澡呢?”
曹共公战战兢兢不敢说话,文公又下令:“军队不准进入大夫厘负羁宗族境内。”
算是报答当年厘负羁帮助晋文公的恩德。大夫厘负羁知道后,很是感动。
当年晋文公逃亡时,卫国君没有以礼相待,使晋文公受到了羞辱,卫国才有今日之难。卫侯请求与晋君联盟,文公没有答应。卫侯想与楚结盟,国人反对。为了讨好晋国,国人把卫侯驱逐到襄牛这个地方,由太子守卫国家。
尽管晋军围困曹、卫,楚国围困宋国仍没撤军,宋国再次向晋国求救。文公要想救援宋国就得进攻楚国,但楚国曾对文公有恩,文公不想攻打楚国。文公想放弃援救宋国,可宋国也曾对文公有恩,文公因此进退两难,举棋不定。
先轸劝谏说:“抓住曹共公,把曹、卫的土地分给宋国,楚国急于救曹、卫两国,势必会解除对宋国的包围。”