公元前643年(周襄王九年),春秋时代第一位霸主齐桓公逝世后,齐国因君位继承而引发内乱。次年,宋襄公出兵协助齐孝公取得君位。同时,楚成王借齐国中衰、中原无霸的机会将势力渗入中原地区。宋襄公不顾宋国国力尚弱,希望能以宋国的公爵地位压制各诸侯国,与楚国争夺中原霸主的位置。
公元前639年(周襄王十三年)春,宋、齐、楚三国君主会于齐,在宋襄公的强烈要求下,三国同意于同年秋在宋国召开诸侯大会。同年秋,宋襄公以盟主身份约楚成王以及陈国、蔡国、郑国、许国、曹国之君在盂(今河南省睢县西北)会盟,齐国和鲁国借故未到。宋襄公不顾公子目夷的建议,轻车简从赴会,以争取与会诸侯的信任,结果在会场上遭到楚成王的突袭被擒。
楚成王挟之进攻宋都商丘(今河南省商丘市西南),宋军坚守,数月未下。不久,在鲁僖公的调停下,楚成王于同年冬释放宋襄公。宋襄公回国后,不甘受楚之辱,亦未放弃争霸之心,不顾公子目夷和公孙固的劝说,于公元前638年(周襄王十四年)夏,联合卫国、许国、滕国三国进攻附楚的郑国。楚成王为救郑率军攻宋。宋襄公遂由郑撤回迎战。