周襄王二年(公元前651年)春,宋桓公去世,太子兹甫即位,是为宋襄公。宋襄公封庶兄目夷为相,主管军政大权,辅佐自己处理朝政。还没等宋桓公下葬,齐恒公就约各路诸侯王在葵丘相会结盟,于是宋襄公前去相会。在葵丘之会上,宋襄公接受了盟约。其主要内容是:不准把水祸引向别国;不准因别国灾荒而不卖给粮食;不准更换太子;不准以妾代妻;不准让妇女参与国家大事。葵丘之会上,宋襄公接受了齐桓公委托他照顾齐国太子昭(后来的齐孝公)的嘱托,答应将来对太子昭予以照应。
周襄王十四年(公元前638年)初冬,宋襄公领兵攻打郑国,郑国向楚国求救。楚国派能大将成得臣率兵向宋国国都发起攻击。宋襄公担心国内有失,只好从郑国撤退,双方的军队在泓水(古河流名,故道约在今河南省柘城县西北)相遇。
楚军开始渡泓水河,向宋军冲杀过来。目夷说:“楚兵多,我军少,趁他们渡河之机消灭他们。” 宋襄公说,“我们号称仁义之师,怎么能趁人家渡河攻打呢?”楚军过了河,开始在岸边布阵,目夷说:可以进攻了。宋襄公说:等他们列好阵的。等楚军布好军阵,楚兵一冲而上,大败宋军,宋襄公也被楚兵射伤了大腿。
宋襄公雄心勃勃,想继承齐桓公的霸业,与楚国争霸,一度为楚国所拘。前638年,宋襄公讨伐郑国,与救郑的楚兵战于泓水。楚兵强大,宋襄公讲究“仁义”,要待楚兵渡河列阵后再战,结果大败受伤,次年伤重而死。《史记》中记载宋襄公是春秋五霸之一。