宋文公四年,六零七年,楚莊王因為宋國不朝貢楚國,派鄭國攻打宋國,雙方在雙棘大戰(zhàn)。
宋國主將華元在與鄭國對決之前,將羊分給手下的將士,可惜卻沒有分給自己的車夫羊斟(zhēn),使得車夫在戰(zhàn)斗開始之后,就把華元帶到了鄭國軍營中。
結(jié)果,宋國軍隊大敗,華元被俘,呂樂被殺。
這一年的夏天,因為鄭國偏向于楚國,宋文公與晉、衛(wèi)、陳三國討伐鄭國。
宋文公原本用一百輛戰(zhàn)車,四百匹良馬換回華元,可是這些東西還沒有全部送到鄭國,華元就自己逃回了宋國。
宋文公五年,即公元前六零六年,宋武公、宋穆公的后人借用曹國的軍隊攻打宋國。
同一年的秋天,為了報復(fù)曹國,宋文公派兵攻打曹國。
宋文公八年,即公元前六零三年,宋桓公與晉、衛(wèi)、鄭、曹在黑壤結(jié)盟。
晉國雖有衰落,但依舊是中原的強(qiáng)國。
宋文公十一年,即公元前六零零年,宋文公趁著滕國國喪包圍了滕國。
次年,滕國因為依附于晉國便不侍奉宋國,宋國因此進(jìn)攻滕國。
這一年,鄭國因為與楚國講和,因此惹得晉國不滿,宋國與晉、衛(wèi)、曹三國一起攻打鄭國,鄭國不得不再次向諸侯聯(lián)軍講和。
宋文公十四年,即公元前五九七年,宋國、晉國、衛(wèi)國、曹國在清丘(衛(wèi)邑,今河南濮陽市東南)結(jié)盟,盟約‘釁病討貳’,也就是周濟(jì)落難之國,討伐不臣之國。
但是就在同一年,陳國夏徵舒殺害了陳靈公,楚莊王率諸侯攻打陳國,宋國亦往,可衛(wèi)國卻去救援陳國,后來衛(wèi)國大夫孔達(dá)因此自縊而死。
宋文公十五年,即公元前五九六年,楚國滅蕭國,因為宋國曾救援蕭國,楚國便出兵攻打宋國。
宋文公十六年,即公元前五九五年,楚國的使者經(jīng)過宋國,因為宋國與楚國有仇,便把楚國使者抓了起來。
這一年的九月,楚莊王圍攻宋國。
宋文公十七年,公元前五九四年,公元前五九四年楚國包圍宋國五月不退,宋國國都已經(jīng)沒有糧食了,宋文公只能派樂嬰齊到晉國去求援。
晉國國君晉景公本是打算救援宋國的,但是晉國大臣伯宗認(rèn)為,鞭長不及,且楚國勢強(qiáng),楚莊王一代霸主,不可力敵也。
晉景公認(rèn)同了他的建議,便沒有派兵救援宋國,只是派了解揚到宋國,讓宋國不讓向楚國投降。
楚軍圍宋日久矣,楚莊王原本打算撤兵,但是大夫申犀、申叔勸楚莊王不要撤兵,相反要在宋國建房、種田。
宋文公因此感到害怕,派出了大將華元趁著夜色進(jìn)入楚國軍營見楚國大將子反,子反將這個情況告訴了楚莊王。
楚莊王問華元,宋都城內(nèi)如何了?
華元是這樣回答楚莊王的,析骨而炊,易子而食。
什么意思?
劈開人的骨頭當(dāng)柴燒,互相交換子女當(dāng)做食物吃。
楚莊王又說了什么呢?
他感嘆華元對他說了實話,其實楚軍也只剩下兩天的軍糧了。
于是,楚莊王方才從宋國退兵。
宋文公二十二年,即公元前五八九年,宋文公去世,他的兒子公子瑕繼位,是為宋共公。