宋元公十年,即公元前五二二年,鲁国大夫、阴阳家梓慎观察天象,说宋国将会有动乱,甚至可能会灭国,需要三年才能平定。
鲁国叔孙昭子表示,那一定是戴、桓两族,他们太奢侈、太无礼,动乱一定是由他们引发的。
根据记载,宋元公为人不讲信用,私心又很多,十分讨厌华氏和向氏。
华定、华亥和向宁就与合谋,向宁表示,就算是逃亡也比死要好,我们不如先下手?
于是华亥便假装生病,引诱宋国公子们前来,只要前来探望的公子们,就都扣押下来。
六月,华亥他们杀死了宋国公子寅、公子御戎、公子朱、公子固、公孙援、公孙丁,还把向胜、向行囚禁在了谷仓里。
宋元公得知消息之后,就前往华氏去求情,但是华氏没有同意,甚至还想把宋元公给挟持起来。
最终宋元公与华氏、向氏达成盟约,宋元公将太子栾玉同母弟公子辰、公子地作为人质,而作为交换,华亥的儿子无戚、向宁的儿子罗、华定的儿子启也交到了宋元公那里当人质。
由于,宋国华氏、向氏之乱,宋国公子城(宋元公的弟弟、公孙忌、乐舍(乐喜的儿子、司马强、向宜(向戌之子、向郑(向戌之子、楚健(楚国太子建、郳甲(小邾国的公子甲逃亡到了郑国。
他的手下跟华氏在鬼阎(今河南西华东北交战,公子城战败了,便到晋国去了。
华亥和他的夫人有一个习惯,那就是必须等到做人质的公子们吃完饭,他们才会吃饭,而宋元公和他的夫人每天都会到华氏来,等到公子们吃完饭再走,华亥担心这样会有隐患发生,便想要将公子们放回去。
可向宁却说,宋元公是不讲信用的,所以我们才把他的儿子当做人质,如果你把他们放回去了,那么我们的死期就不远了。
宋元公对于把持着宋国权力的公族们向来是不满的,尤其是华氏和向氏,宋国的君臣,甚至是各大诸侯国的君臣,对于权力和职位的争斗向来是一场激烈的,身为国君的诸侯,希望安插自己的亲信甚至是兄弟到六卿之位或者是其他重要职位上,而公族却要牢牢保护住自己的权力和职位,宋国因此也发生过不少动乱。
可是像这次这样,君臣互留质子的情况却是从来没有发生过,甚至这实在是太有违君臣之道,比起明晃晃的弑君来,这个同样不能为君主所接受。
于是,宋元公找上了宋国司马华费遂,希望他能够帮助自己平定华亥他们。
华费遂虽然也是华氏一族,但还是偏向宋元公,也明白华亥、向宁、华定他们做得过分。
于是华费遂就向宋元公表示,我是不吝啬身死的,只是想要去除烦忧却可能滋长了它,这是我所担心的,怎么敢不听从您的命令呢?
宋元公却说,我的儿子们如果死了就是他们的命,但我却不想让他们再受屈辱了。
十月,宋元公杀死了留在他这里的人质,进攻华氏、向氏,华亥、向宁不敌。
华亥、向宁逃到了陈国,华登(华费遂的儿子逃到了吴国。
向宁本打算将太子栾三人杀掉的,可是华亥却表示,违背了国君而逃亡,又要杀死他的儿子,如果这样做了,又有谁会接纳我们呢?况且放他们回去是有功劳的。
于是华亥让华牼(kēng(宋国少司寇,华亥的庶兄将太子栾三人带回去,对他说,你的年纪大了,不能再伺奉人了,将三个公子带回去,一定是可以免去罪责的。
华牼带着太子栾三人回到了国都,果然宋元公没有怪罪他,还让他官复原职。