日之战，他驾驶华元的兵车投靠了郑国，华元被俘，宋军混乱，乐吕战死。宋文公赠物到郑国换回华元，华元回国，羊斟逃到鲁国。前595年，楚国申舟出使齐国经过宋国境内，没有向宋国提出通行申请，被华元俘获。 华元以为这是楚国侮辱宋国，所以将申舟杀了。不久，楚庄王包围宋都商丘，长达七个月。宋国很多人饿死，"易子而食，析骸以炊"。楚人还在城外盖起了房舍，表示要久留。但宋人宁可死到净尽，不肯做耻辱的屈服。晋国一直不来救援。宋文公派华元议和。华元夜里私下去见楚国将帅子反，乘子反不备，挥着利刃逼迫他立誓，把楚军撤退三十里