當時齊國大夫烏枝鳴在宋國戍衛,宋國廚邑大夫濮對烏枝鳴說,《軍志》上是這樣說的,先發製人可以摧毀敵人的士氣,後發製人就要等到敵人疲憊、士氣衰竭。那麽我們為什麽不等到他們疲憊和混亂的時候再進攻呢?如果敵人進入宋國且軍心安定,那麽華氏的力量就更大了,我們就要後悔了。
烏枝鳴認為濮說的有道理,便聽從了他的建議。
之後宋國軍隊與齊國軍隊在鴻口擊敗了吳國軍隊,還抓住了吳國的兩個將領公子苦雂(qín)、偃師員。
但是華登率領著剩下的吳軍卻是擊敗宋國的軍隊。
宋元公想要逃亡,廚邑大夫濮對宋元公說,我只是小人,可以為君主赴死,卻不能護送君主逃亡,還請君上等候一下。
於是,濮陪同著宋元公巡視軍隊,說,揮舞旗幟的,都是國君戰士。
結果士卒聽到了之後都是揮舞起了旗幟,宋元公在揚門上見到了這樣的情景,就表示國家要亡、國君要死,這是各位的恥辱,怎麽能是我一個人的過錯呢?
烏枝鳴建議,隻用少量的兵力不如一切去死,而一起去死的話不如撤去守備。敵人的武器很多,我們的人就都用劍吧。
宋元公聽從了他的建議,華氏被擊敗逃走,宋國和齊國的軍隊就去追擊。
濮將砍死敵人的頭顱用裙子包裹起來,扛在肩膀上快跑,謊稱殺死了華登,華氏在新裡又被擊敗。
十一月,公子城帶著晉國軍隊來到宋國,晉國荀吳、齊國苑何忌、衛國公子朝、曹國的翰胡一切救援宋國。
諸侯聯軍與華氏在赭(zhě)丘交戰,公子城與華氏華豹在戰場上相遇,公子城殺死了華豹、張匄、乾犫(chōu),宋、齊聯軍將華氏擊敗,包圍了南裡。
華亥向華貙表示,我們就要成為晉國的欒氏了(晉國氏族,已被滅族)。
華貙便派華登到楚國去請求出兵,華貙帶領著戰車、步兵幫助華登突圍,在睢水岸邊吃完了飯,哭著送走了華登,就又衝進了包圍之中。
楚國的薳越率領軍隊打算去迎接華氏,可太宰范勸諫楚平王,諸侯之中,只有宋國的臣子還在侍奉君主,可現在爭奪國政,我們丟開國君卻去幫助臣下,這恐怕是不妥的吧。
楚平王卻表示,太宰犯說晚了,他已經答應了華氏。
宋元公十二年,即公元前五二零年,楚國的薳越派人告訴宋元公,我國國君聽說宋國國君有不令之臣使國君憂慮,會成為宋國宗廟的恥辱,我國國君請求接受他們並加以誅戮。
宋元公表示,由於我的原因,使得楚君憂慮,承蒙楚君下令。宋國的君臣每日交戰,如果楚君說,我要幫助臣下,我也只能聽從。有句話是這樣說的,只有動亂的門口是不應該經過的。楚君如果能夠賜恩保護宋國,而不是去保護不忠人、獎勵作亂的人,這是我的願望,希望楚君能夠考慮一下。
楚國人對此感到擔心,而諸侯戍衛宋國的將領商議,認為不應該將華氏逼入死地,而不順從楚國的話,對他們也頗為不利,而對宋國來說也算是除掉了他們的禍患。
於是,便請求宋元公將華氏送出,宋元公同意了。
二月,宋國的華亥、向寧、華定、華貙、華登、皇奄傷、省臧、士平逃亡到了楚國。
至此,華氏在宋國消失。
宋元公為了安定宋國,任命公孫忌為大司馬,邊卬(宋平公之孫)為大司徒,樂祁(樂喜之孫)為司城,仲幾(仲江之孫)為左師,樂大心為右師,樂輓(wǎn)為大司寇。
宋元公十五年,即公元前五一七年,宋元公為了魯昭公能夠回到魯國四處求情,但卻死在了曲棘(今河南民權西北)。
宋元公去世之後,他的兒子太子欒繼位,是為宋景公。