鲁庄公二十二年(公元前672年),晋献公发兵讨伐骊地的戎人,在晋国大军的冲击之下,骊戎很快溃败,于是便向晋国求和,并将首领的两个女儿骊姬姐妹献给了晋献公。由于骊姬美貌娇艳,很快就得到了晋献公的宠爱,并且逐渐参与朝政,几年以后,骊姬和妹妹先后为晋献公生下了公子奚齐和公子卓子,骊姬还被立为了夫人。
此前,晋献公的夫人、齐桓公的女儿齐姜和后来从狄人那里迎娶的大戎狐姬和小戎子分别为他生下了申生、重耳、夷吾三位公子,而申生身为嫡长子,早早就被立为太子。但是齐姜早逝,而骊姬深得晋献公的宠爱,见申生没有生母庇护,又不得晋献公的喜爱,于是便想劝晋献公废掉申生,立自己的儿子奚齐为太子。
但是骊姬明白,仅仅除掉申生还不够,如果让比奚齐年长的公子重耳和公子夷吾得到太子之位,那么自己只是白白地为人作嫁。于是她首先贿赂献公宠臣,让他们在献公面前大造舆论说:曲沃是晋君宗庙的所在地,必须让太子居守,而蒲城和南、北屈与戎狄的领地很近,需要可靠之人驻守,请派两位公子分别前往守卫。晋献公听了他们的话,遂让申生离开国都绛城,去了曲沃,又将公子重耳和公子夷吾分别派往蒲城和屈城。
骊姬找借口支走了三位公子,隔绝了献公与他们的直接联系,切断他们父子间的沟通渠道,自己却不曾出面,掩饰了她的险恶用心。然后她又在半夜给献公吹“枕边风”:“我听说,申生很会收买人心,恐怕要对您行凶,夺取王位啊!”献公眉头一皱,摇头说:“他如此爱百姓,怎能不爱他自己的父亲呢?”骊姬见晋献公虽然并不喜爱公子申生,但是出于父子之情,仍然十分信任他,便针对这一点,使出了另一个计策。
骊姬又向献公提议让申生回都城住几天,说是要向申生示之以德,融洽君臣关系。申生来宫中和骊姬吃过几顿饭后,骊姬就向献公泣告说,申生饮酒时曾调戏她。献公不太相信,骊姬遂安排说她可以和太子一起去游园,让献公在台上观察。
第二天,骊姬叫申生和她一起游玩。骊姬先在头发上涂了蜂蜜,使蜜蜂都聚集在她的头发旁边。骊姬说:“请您帮帮我,赶走它们好吗?”申生不知是计,就轻率地站在她的身后用袖子在她头上拂来拂去地赶蜜蜂。晋献公看见了,以为申生真的是在调戏自己的宠姬,没想到申生居然这样不顾念父子之情,心中的愤怒到了极点,想马上就把太子杀了。骊姬跪下来恳求说:“我叫太子回来,他却被杀,是我害了他。而且王宫里的这些事,外人不知道,就忍忍吧。”骊姬设计点燃献公蓄怒的导火索,却又为申生说好话,这是为了洗清自己陷害的嫌疑,破坏了申生与晋献公的父子之情,骊姬马上就要使出致命一击了。
一天,骊姬派人到曲沃去告诉申生:“国君梦到了你母亲齐姜,你应该尽快祭祀她。”此时申生并不知道骊姬几次三番暗害他的事,还以为她是告诉他如何讨好父亲,于是赶快在曲沃举行典礼,祭祀齐姜,然后将祭肉送回国都,进献给晋献公。当时晋献公正在郊外打猎,使者就将祭肉送到了夫人骊姬的宫中,骊姬趁此机会在肉中下了毒。
几天以后,晋献公打猎归来,骊姬将祭肉端出来,告诉晋献公这是公子申生祭祀齐姜的祭肉。晋献公很高兴,就打算食用,骊姬又忽然想起来似的从旁制止道:“这肉是从宫外来的,请先验毒。”晋献公就派人割下一块肉去喂狗,发现狗竟然口吐白沫、抽搐着倒毙了,又找了个宦官食用,宦官也随即死于非命。晋献公大惊失色,一时反应不过来发生了什么事,骊姬在一旁大哭:“这是太子的狼子野心啊!”
晋献公大怒,认为这是申生的老师杜原款教坏了自己的儿子,便命人杀了杜原款。有人劝申生:“您是无辜的,为何不逃离晋国?”申生说:“我不能逃