齐桓公去世之后,公子无亏争得了王位,太子昭逃奔到了宋国。后来,太子昭在宋襄公的帮助下回到齐国即位,称为齐孝公。
宋襄公平定了齐国的内乱,自恃劳苦功高,就想要号召诸侯,代替齐桓公成为霸主。但是,小诸侯国对宋襄公不服气,大诸侯国又去与楚国结盟,宋襄公心里又是着急又是气愤,就和公子荡商议。公子荡说:“现在国力最强的国家是齐、楚两国,齐国刚刚稳定,不用过分担忧。而楚国的势力强大,各诸侯都害怕。我们可以借助楚国的力量来召集诸侯,再用各诸侯来牵制楚国。”公子目夷劝谏说:“楚国有了其他诸侯国的敬畏,怎么会服从于我们?又怎么会为我们召集各诸侯?如果非要那样做,肯定会惹出事端来。”宋襄公不听,派公子荡带着厚礼去楚、齐两国,邀请楚成王、齐孝公来年春天到鹿上来和宋襄公相会。
第二年春天,齐孝公、楚成王先后来到鹿上。宋襄公以盟主自居,一点也不谦让,齐孝公因为对宋襄公的扶持心怀感激,所以没感觉不妥。楚成王心里非常不高兴,但又不好发作出来,只能勉强接受。宋襄公和楚成王约定,秋天的时候邀请各国诸侯在宋国的盂地举行盟会,效仿齐桓公那样举办“衣裳大会”,也就是各国都不带兵马,以诚相见。
宋襄公从鹿上回来之后十分高兴,公子目夷劝谏说:“楚国是蛮夷之邦,居心叵测。表面上虽然答应了,但不知道楚王心里会想什么。我担心您会被他骗了。”宋襄公说:“你太多心了,我忠信待人,他又怎么会欺骗我呢?”于是不顾公子目夷的劝告,命人着手准备盂地盟会的事情。
转眼就到了要举行盟会的日子,宋襄公准备好车马前去盂地。公子目夷又劝他说:“楚国国力强大,又不讲信义,请您带着兵马前去。”宋襄公说:“我和各诸侯约定好了是‘衣裳大会’,如果带着兵马,不是先行毁约失信于人吗?以后还怎么在各诸侯国面前树立威信呢?”公子目夷说:“既然您想要树立您的威信,那我带着兵马埋伏在三里之外的地方怎么样?”宋襄公说:“你带兵马和我带兵马又有什么区别?一定不行。”临行时,宋襄公担心公子目夷会带兵接应,坏了自己的信义,于是就带着公子目夷一块去了盂地。
到了盂地,宋襄公见各国诸侯都按时赴约,又听说楚成王虽然带来的侍从很多,但也是乘车来的,心里十分高兴,说:“我就知道楚国不会欺骗我的。”
盟会当天,宋襄公设好祭坛,并作为东道主从左边先登了上去,公子目夷紧紧跟在他的身后。其他的诸侯则从右边登上祭坛,楚成王走在最前面。等祭拜完毕,到了推选盟主的时候,宋襄公原本指望楚成王能为他说话,见楚成王低头不语,宋襄公就走上前说:“今天的集会,我是想重振齐桓公时期的霸业,息兵罢战,让天下百姓享受太平的日子,大家觉得怎么样?”各诸侯还没说什么,只见楚成王挺身而出,站出来说:“你说得太好了,但是不知道盟主的位置应该由谁来担当啊?”宋襄公说:“当然是有功的论功,没功的就论爵位了。”楚成王说:“我已经称王很长时间了,你虽然位列上公,但是还没有排在我的前面,我应该站到前面!”说完,就站到最前面。
公子目夷扯着宋襄公的袖子,想要让他暂且忍耐,但宋襄公以为自己做盟主是十拿九稳的事情,突然杀出来个争位的人,当然是十分恼怒,他严厉地说:“我位列上公,连周天子都对我以礼相待,你擅自称王,难道是想用假王来压我这个真王吗?”楚成王说:“那既然我是假王,谁让你把我请到这里来的。再说,你问问今天来的这些诸侯,是为我楚国来的还是为你宋国来的?”其他的诸侯国平时就对楚国十分畏惧,此刻就齐声说:“我们是奉了楚王的命令才来的。”楚成王听了,哈哈大笑说:“你还有什么说的?”
宋襄公见大事不妙,想和楚成王讲理根本就行不通,想要脱身又没有士兵保护。正在犹豫的时候,只见楚王的侍从们纷纷脱下礼服,露出了穿在里面的铠甲,拿出了兵器,上来就把宋襄公捉住了。宋襄公急忙对身边的公子目夷说:“我真后悔当初没有听你的话,事已至此,你赶快回去守住国都,不要管我了。”公子目夷想到自己待在这里对宋襄公也没有什么帮助,就赶紧趁乱逃走了。
楚成王本来想拿宋襄公来威胁宋国,但公子目夷回到宋国后做好了防备;想把宋襄公杀掉,又怕引起各国诸侯的怨恨,于是就听从大夫成得臣的建议,在亳都召集诸侯,当众释放了宋襄公。郑文公推荐楚成王为诸侯之首,各诸侯国都表示赞成。
宋襄公本来是想谋取霸主的地位,结果反而被楚成王戏弄了一番,直恨得他咬牙切齿,但又苦于没有实力去报复楚国,看到郑国极力推荐楚成王做霸主,便把所有的怨气都撒到郑国身上,准备率领全国的军队去攻打郑国。公子目夷劝谏说:“楚、郑两国刚刚交好,如果攻打郑国,楚国一定会来救助,恐怕不会取胜,不如休养生息,等日后有了机会再去报仇雪恨。”大司马公孙固也劝宋襄公不要去。宋襄公正在气头上,大怒着说:“既然你们都不愿意去,那我自己去。”于是,就率领着大军去攻打郑国。
郑文公知道了,立刻派人向楚国求救,楚成王闻讯就要来帮助郑国。大臣成得臣说:“此刻宋国国内空虚,我们与其跑去给郑国解围,不如去攻打宋国。宋襄公知道了一定会率领大军赶回来自救,到时候宋军疲惫不堪,我们以逸待劳,胜负不言而喻。”楚成王觉得这个主意很好,就任命成得臣为将军,斗勃为副将,率领军队攻打宋国。
宋襄公正和郑国军队对峙,得知楚国攻打宋国,就日夜兼程地赶回去,在泓水以南抵御楚军。大司马公孙固劝宋襄公说:“这次楚军来主要是为了解救郑国,只要我们不再攻打郑国,并向楚国道歉,楚军就会撤回去了。”宋襄公说:“当初,齐桓公率军去攻打楚国,现在楚军来了,我们反而要求和,这样还怎么重振齐桓公时期的霸业啊?”
公孙固说:“我们的盔甲不如楚国的坚硬,兵器不如楚国的锋利,士兵不如楚国的强壮。百姓们害怕楚人就像是害怕蛇蝎一样,我们凭什么打败楚国呢?”宋襄公说:“虽然楚国的兵器锋利、士兵强壮,但是楚国的仁义不足。有仁义的国家要对没仁义的国家退让,对我来说,是生不如死的事情。”于是,宋襄公命人制作了一面大旗,上面写着“仁义”两个大字,将大旗插在战车上,并和楚军约定了交战的日子。公孙固暗暗地说:“战争本来就是要有杀戮,又哪里谈得上仁义,我真不知道您所说的仁义在哪里。看来这次宋国是危险了。”
且说楚军开始从泓水北面渡过泓水,公孙固对宋襄公说:“楚军刚开始渡水,我们可以趁这个机会去突袭,这样就可以制约楚军,如果等他们都渡过来,楚军众多,我们就会寡不敌众。”宋襄公指着大旗说:“你看见大旗上写的‘仁义’二字了吗?我堂堂宋国大军怎么能趁人家渡水一半的时候袭击呢?”
又过了一会儿,楚军全部渡过泓水,成得臣旁若无人地指挥着楚军排列阵势。公孙固又对宋襄公说:“楚军刚开始摆兵布阵,还没有成列,我们现在击鼓进军,一定会使他们军心大乱。”宋襄公唾骂着说:“哼!你就知道贪图一时的利益,不顾万世的仁义。我堂堂宋国大军怎么能趁人家还没摆好阵势就击鼓进兵呢?”公孙固暗地里叫苦不迭。
等楚军人强马壮、漫山遍野地摆好阵势,宋襄公才下令击鼓进兵。宋襄公亲自带领着公子荡、向訾守两员大将,率领着一支军队直奔楚军阵营。成得臣见宋军来势凶猛,暗自传下命令,开了阵门,放宋襄公一队人马进去。随后赶来的公孙固被楚军将领斗勃拦截。两军交战,霎时间漫天烟尘,到处都是人仰马翻。
弱小的宋军根本就不是楚军的对手,不一会儿就死伤大半,宋襄公也被射断右腿膝筋,站都站不起来了,“仁义”大旗也早就被楚军夺走了。成得臣乘胜追击,缴获的粮草兵车不计其数。公孙固奋力拼杀才把宋襄公救了出来。
宋襄公和公孙固连夜逃回宋国,那些死难的士兵家属都辱骂嘲笑宋襄公,埋怨他不听公孙固的劝告,才导致了失败。宋襄公听说了,叹息着说:“君子不攻击受重伤的人,不捉拿年纪大的人。我以仁义来带领军队,怎么能乘人之危呢?后来人们所说的宋襄公因为实施仁义而导致失败的事情,指的就是这次战争。