楚成王率领大军,自称千乘,实际只有五百乘,犒劳完军士,押着宋襄公,杀往宋都雎阳。各国诸侯,奉楚王令,在盂地等侯,不敢回国。
公子目夷从盂地回国,向司马固说宋襄公被劫持。楚兵马上到达,速度安排防守。公孙固说,国家不可一日无君,公子权且暂摄君位,然后发号施令,民心才能安定。目夷附着公孙固耳朵说,楚人抓着我们的君上前来,必然会挟君以作要挟,必须如此如此,君上才能安然回国。公孙固说,果然妙计。
公孙固召集群臣,对群臣说,我们的君上未必能回来,我等先拥戴公子目夷主理国事。群臣都知道公子目夷贤明,欣然同意。公子目夷向太庙宣告,然后南面摄政。安排三军将士,上城防守,将雎阳城守的像铁桶一般严密。
楚王率大军来到,立下营寨,让将军斗勃前来说话。你君上已经被我押在这里,生死由我决定,速度献城投降,才能保住你君上的性命。公孙固在城上说,全赖社稷有灵,我们已经立了新君了,要杀随便你,要降不可能。斗勃说,你君上还健在,你怎么能又立一君?公孙固说,立君是为了主社稷,社稷无主,怎么能不立新君。斗勃问,我如果放你君上回国,你们用什么作为酬谢?公孙固说,以前的君上被抓,已经辱及社稷。就算回来也不能为君了。放还是不放,由楚君自己决定,如果要与我们决战,我城中的兵甲还没有折损,我们情愿决一死战。
斗勃回报楚王,楚成王大怒,传令攻城,城上箭矢如雨,楚兵损伤颇多,连续攻城三天,不能取胜。楚成王说,宋国既然不要宋君,杀了怎么样。成得臣说,大王曾经说宋君杀鄫子,作为宋君的罪过,前来讨伐。现在又杀宋君,这是和宋君一样的行为。杀了宋君,得不到宋,只会让宋人怨恨,不如放了他。楚王说,攻不下宋国,又放他的君上,以什么名义比较好?成得臣说,臣有一计,现在盂地没有参与会盟的,还有齐,鲁两国,齐已经与我们两次通好,不必计较。鲁国是礼仪之国,一直辅佐齐桓公,眼里没有楚国,如果将宋国的俘获献给鲁国,请鲁君在亳都相会,鲁侯知道宋君被俘,必然恐惧前来会盟,鲁侯,宋公曾经在蔡邱同盟,而且鲁侯一向贤明,必然向宋君求情,这样,我们便可以趁机与鲁国通好,一举得到鲁,宋两国盟友。楚成王鼓掌大笑,退兵屯于亳都。
楚成王让人将从宋国得到的一些俘获,装成几车,送往鲁都曲阜,并带上一封文书,书上写:
宋公傲慢无礼,寡人已幽之于亳,不敢擅功,谨献捷于上国,望君辱临,同决其狱。
鲁僖公看见大惊,生出兔死狐悲,物伤其类的想法。同意前来赴会,来到亳都。成得臣引见鲁僖公与楚成王相见,先互相说了些敬慕的话,这时,陈、蔡、郑、许、曹五国诸侯,也从盂地赶来参加赴会。六国诸侯在一起讨论,郑文公先说,倡导尊楚成王为盟主,众诸侯不作声。鲁僖公大声说,盟主一向以仁义施于诸侯,现在楚王恃着兵多将勇,劫持上公宋君,有威却无德,人心疑惧。我们都与宋君有一起会盟的情谊,现在坐视不救,只知道奉楚,恐怕会被天下豪杰耻笑。楚王如果能放了宋君,寡人怎么敢不惟楚命是从?众诸侯说,鲁侯说的十分恰当。楚成王听说,诸侯以盟主的大义来责问寡人,寡人怎么能违背?于是让人在亳郊建筑盟坛,以十二月癸丑日,歃血为盟,并赦免宋君的罪。
快到了约定的时间,楚成王提前一天放了宋君,宋襄公与诸侯见面,虽然满肚子不高兴,但是不得不向诸侯致谢。到了受盟时间,郑文公拉众诸侯请楚成王主盟,楚成王执着牛耳,宋君,鲁君依次接受盟歃。宋襄公敢怒不敢言。会盟完毕,诸侯散去。
宋襄公听说公子目夷已经即位,准备往卫国避让,公子目夷派了使者前来,信上说,臣之所以暂时摄位,是为了君上守国啊,国还是君上的国,为什么不回来。目夷准备好仪仗,迎接宋襄公回国。
宋襄公本来有意图伯,却被楚国坑了一场,怨恨的想法,深入骨髓。想讨伐楚国,担心力量不够,想起郑国先倡导尊楚,转向仇恨郑国。周襄王十四年,郑文公又往楚行聘,宋襄公大怒,起倾国兵马,前来伐郑。让上卿公子目夷辅佐世子王臣守国,目夷誎言,楚,郑两国关系十分和睦,如果伐郑,楚国必然来救,到时恐怕不能取胜,不如修德政以待时机。司马公孙固也誎止。宋襄公怒道,司马不愿意去,寡人独自前往。公孙固不敢出声。宋襄公便出师伐郑,公孙固为副,大夫乐仆伊、华秀老、公子荡、向訾守等都一起领兵前往。
郑文公听说宋兵来伐,大惊,急忙向楚成王求救,楚成王说,郑国事我,就像对自己的父亲一样,应该马上去救。成得臣说,救郑不如直接伐宋。楚成王问何故。成得臣说,宋君被我们抓获,宋国人已经吓破了胆,现在不自量力,还起大军伐郑,国中必然空虚,乘着他国中空虚直捣宋国,宋国必然惧怕。不用看已经知道胜负了。如果宋军回师自救,他也已经疲劳了,我们以逸待劳,必然得胜。楚成王以为然,命成得臣为大将,斗勃为副,兴兵伐宋。
宋襄公听说楚兵前来,兼程回国,在泓水南面列营与楚兵相持。成得臣让人下战书,公孙固对宋襄公说,楚师来这里,是为了救郑,我们以赦免郑的罪过然后谢回楚兵,楚兵必然回去,不可与楚开战。宋襄公说,昔日齐桓公兴兵伐楚,现在楚国来伐而不战,如何继承桓公的伯业?公孙固说,臣听说,一个姓氏难以再兴,天下不归殷商已经很久了,君上想再兴起,能够成功吗?而且我们的兵甲不如楚兵坚硬锋利,战士不如楚兵强勇,宋兵畏楚,就像畏惧有毒的蛇蝎,君上用什么胜楚?
宋襄公说,楚国兵甲有余,仁义不足;寡人兵甲不足,仁义有余。昔日周武王以三千虎贲,战胜殷商亿万之众,这都是因为仁义啊。以有道的国君,避让无道的臣子,寡人就算活着还不如死了。于是约下战书,以十一月朔日,与楚兵交战。宋襄公命建一面大旗,上面写“仁义”二字。
公孙固心中暗自叫苦,私下对乐仆伊说,主公杀鄫国国君而自称仁义,我不知道主公仁义在哪里。上天要夺我君上的性命,我感觉十分危险,我们应该谨慎从事,不要导致国家败亡。到了时期,公孙固集合兵马,请宋襄公下令,宋兵严阵以待。
楚将成得臣屯兵在泓水以北,斗勃请命五鼓渡河,以防宋人布阵阻止。成得臣笑道,宋公十分迂阔,不知兵法,我们早渡早战,晚渡晚战,怕什么?到了天明,楚军才陆续渡水,公孙固对宋襄公说,楚兵天明才渡河,明显轻视我军,我们乘着他半渡,突然起兵攻击,这样我们便可以全军攻击楚国半军,如果都渡过了河,楚兵众多,到时恐怕不敌。
宋襄公指着“仁义”大旗说,你看见仁义二字了吗?寡人堂堂仁义之师,怎么有半渡攻击的道理?公孙固心中叫苦。一会,楚兵渡完,正在布阵,公孙固又对襄公说,楚国正在布阵,还没成形,现在急令击鼓进兵,楚兵必乱。宋襄公骂道,你贪图一时攻击的利益,不顾及万世的仁义吗?寡人堂堂仁义之师,怎么有趁人未成阵而攻击的道理?
楚兵布阵完成,人强马壮,漫山遍野都是楚兵,宋兵都有惧意。
宋襄公命人击鼓进兵,楚军也击鼓,宋襄公自己持长戈,带着公子荡、向訾守二将,率兵直冲楚阵,成得臣见宋兵来势凶猛,暗自传令,打开阵门,只放襄公一队人马进来,公孙固率军赶来,斗勃挥戟,直取公孙固。两人战到二十合,宋将乐仆伊引军前来,楚阵蔿氏吕臣,接住乐仆伊厮杀。公孙固寻到空隙,驰入楚军阵中去了。斗勃正准备追赶,宋将华秀老赶来,敌住斗勃。公孙固在阵中左冲右突,寻找宋襄公。许久,见东北角上甲士包围十分紧密,公孙固杀往这里,正遇到宋将向訾守,向訾守脸上全是血,大喊道,司马速度去救主公。公孙固与向訾守,杀入重围,只见宋襄公的护卫,一个个身受重伤,与楚军死战不退。宋襄公对手下极好,所以手下都拼死保护襄公。楚军看见公孙固勇猛,稍稍退后,公孙固上前,见公子荡要害处已经受伤,在车下躺卧,“仁义”大旗,已经被楚军夺走。宋襄公身上几处有伤,右边大腿中箭,射断了膝盖的筋,站不起来。
公子荡见公孙固前来,说道,司马好好保护主公,我要死在这里了。说完大叫一声而死。公孙固心中感伤,忙扶宋襄公上车,用身体挡住襄公,奋勇杀出重围,向訾守在后面挡住楚兵,宋襄公的护卫左右拥护,众人一边战一边走。等到离开楚阵,宋襄公的护卫,都已经亡尽。宋国的兵甲战车,损失十分之九。乐仆伊、华秀老见宋襄公已经脱离楚阵,各自率兵掩护襄公后撤。楚成得臣率兵乘胜追杀,宋兵大败,辎重器械,丢弃殆尽。公孙固护卫宋襄公连夜奔回。