宋军与楚军战于泓水。宋军已经摆好阵势,楚军还没有全部渡河。司马子鱼说:“敌众我寡,趁他们没有完全渡河,请下令攻击他们。”宋襄公说:“不行。”当楚军已经全部渡河,但尚未摆好阵势,司马子鱼又请求攻击。宋襄公说:“不行。”等楚军摆好了阵势,然后才开始攻击,结果宋军大败,宋襄公大腿受伤,卫队也被歼灭了。
宋国人都埋怨宋襄公。宋襄公说:“君子不伤害已经受伤的人,不捉拿头发花白的人。古人作战,不在隘口处阻击敌人。”我虽然是已然亡国的商朝的后代,但也不会攻击没有摆好阵势的敌人。子鱼说:“主公并不懂得战争。强大的敌人,因为地形的狭窄而摆不开阵势,这是上天在帮助我们,这时候对其加以拦截然后攻击他们,不也是可以的吗?就算是这样还怕不能取胜。况且今天这些强悍的楚兵,都是我们的敌人;即使是碰到老人,捉住了就把他抓回来,何况只是头发花白的人!对士兵讲明耻辱,教导作战,是为了杀死敌人。敌人受了伤但还没有死,为什么不能再次攻击使其毙命?如果是因为怜悯那些受伤的人而不想再次加以伤害,那还不如开始就不要击伤他。同情年长的敌人,还不如向他们投降。用兵讲求抓住有利的条件和时机,那么即使是在险阻隘口的地方打击敌人,也是应该的;锣鼓响亮是为了振作士气,那么攻击没有摆开阵势的敌人也是可以的。”