宋昭公九年,对宋昭公不满的宋襄公夫人王姬派人杀了宋昭公,立公子鲍为君,是为宋文公,因为华元是宋文公一党,所以被立为宋国右师。
华元,算是宋国有名的官二代,他是宋戴公五世孙,华督曾孙,华生御事的儿子,可谓是宋国根正苗红的贵族。
宋文公属于弑兄上位,赵盾便打算以此为名来讨伐宋国。华元则出使晋国,向赵盾解释了宋昭公的无道,宋文公的乐善好施。于是赵盾被华元说服,改为同华元结盟。
宋文公四年,郑国公子归生在楚国的要求下攻打宋国,右师华元和司寇乐吕派兵迎战。华元战前因为没有把羊肉分给自己的驾车羊臻,这让羊臻极为不满。交战之时羊臻对华元愤怒的说,“昨晚分羊的时候,是您说了算;如今驾车作战,是我说了算。”接着便故意驾车冲向郑军主力。结果,堂堂宋军主帅华元,就这样轻易地被郑军活捉了。宋军主帅被俘,因此宋国惨败,这也是成语“各自为政”的由来。
事后,宋文公只好用一百辆战车和四百匹毛色漂亮的良马来换华元,但这些财宝还没都过去的时候,华元却自己偷偷跑回来了。
华元回来后,一次担任监工监督国人建造城池。有一天巡视时听到国人在唱歌,“瞪着大眼,挺着大肚子,被人打得丢盔卸甲;络腮胡子一大把,丢盔卸甲逃回家。”华元听出来国人是在嘲讽自己,于是便对他们说,“有牛就有皮,犀牛还有很多,丢盔卸甲又如何?”国人又说,“就算皮革多,朱漆也不够怎么办呢?”华元怂了,说道,“走了走了,他们人多,我们人少,说不过他们。”
宋文公十六年,楚国因为宋国杀害楚国使者申舟,楚庄王派兵攻打宋国都城商丘。楚国围困商丘五个月多月,商丘城内无粮草,外无救兵,情况极度危急。
于是宋文公派华元半夜潜入了楚军,找到了楚国将军子反的营帐。华元把子反叫醒对他说:"宋公让我告诉您现在宋国的现状,我国已经到了易子而食,析骨以爨的地步了。即便这样,我们也不会屈服。如果你们能后退三十里,那么宋国就臣服于楚国。"子反将此话转达给了楚庄王,楚庄王为华元真诚的君子行为所打动,于是楚军后退三十里,并与宋国讲和,要求华元到楚国去做人质,并在盟约上写着,“我无尔虞,尔无我诈。”即你不欺骗我,我也不必防备你,这就是尔虞我诈成语的由来。