晋灵公即位期间,奢淫无度,骄横放纵,他手下的大臣赵盾屡屡劝谏,他非但不听,还要派人杀掉赵盾。赵盾知道消息后,逃到晋国边境上的一个偏僻的地方躲了起来。后来,他的族弟赵穿杀死了晋灵公,拥立新君晋成公,赵盾才重新回到朝中来。
晋景公三年,也就是公元前597年,晋国的司寇屠岸贾控制着朝中的实权,为了扫除异己,他决定对最有威信、对他也最有威胁的赵朔一家下手。
大臣韩厥知道他的话是在说赵朔,就替赵朔辩解:“灵公被杀的时候,赵盾并不在都城,这事和他有什么关系呢?何况,先君也没有治他的罪,现在我们若是这样做,并非先君的意思。”
屠岸贾一听,很生气,他强词夺理道:“赵盾是赵家的同族兄弟,难道他不是罪魁祸首吗?”
赵朔的妻子是晋成公的姐姐,已经怀有身孕,屠岸贾诛杀赵氏家族的时候,她逃进了王宫里,算是逃过了一劫。
赵朔有一个门客叫公孙杵臼,这一天,他去找赵朔最好的朋友程婴,见面就直截了当地问:“赵朔已经死了,你为什么还不死?”
程婴说:“赵朔的妻子已怀有身孕,不日就要分娩,如果幸运地生下一个男孩的话,我愿意侍奉他长大。”
没过多久,赵朔的妻子果真生了一个男孩。屠岸贾一听,马上带人入宫,准备斩草除根。情急之下,赵朔的妻子把婴儿藏在了自己的裤裆里,心里还不停地祈祷:如果赵家不该被灭绝,你就不要啼哭!
这一回,程婴找到了公孙杵臼,对他说:“这次侥幸逃过去了,终究不是解决问题的办法,得想一个万全之策。”
他二人定下一条计策他们找来一个婴儿,给他穿上华丽的衣服,扮成赵朔的儿子的样子,由公孙杵臼抱到山里藏了起来。然后,程婴跑到屠岸贾手下的一个将军那里,假意说:“我程婴是个平常的人,怎么能承担扶立孤儿的重任呢。所以,谁能给我一千两黄金,我就告诉他赵氏孤儿藏在哪里。”
于是,程婴带着他们,来到公孙杵臼的藏身处,抓住了公孙杵臼,他的怀里果然抱着一个男孩。
公孙杵臼一见程婴,仿佛什么都“明白”了似的,他大骂:“小人!小人!赵朔被杀的时候,你不殉死,还与我商议什么扶立孤儿的事,如今看来,这一切都是假的!”他紧紧抱着孩子,哭道:“天哪,他只是一个孩子,他有什么过错呀你们要杀就杀了我吧,放过这个孩子吧!”
屠岸贾以为赵氏孤儿已经除掉了,十分高兴,戒备也就松懈下来。大臣韩厥让自己的心腹扮成医生,入宫去给公主看病,趁机把婴儿偷偷地带出来,交给程婴,由他带着逃到深山藏了起来。
十五年后,赵氏孤儿赵武长大,得知了自己的身世,在韩厥的帮助下,与程婴一起还朝,带兵征伐屠岸贾,杀死了这个仇人。
程婴见赵武大仇得报,陈冤得雪,不肯独享富贵,拔剑自刎,追随他的好友公孙杵臼去了。
赵武为程婴守孝三年,以后每年春秋两季,都带家人前去祭祀,代代不绝。赵武在晋国担任正卿等重要职位,为晋国的稳定发展作出了很大贡献。