晋灵公是晋文公的孙子,昏庸无能,十分残暴。为了把宫墙全画上彩画,他拼命加重赋税,从老百姓身上敛财。他还喜欢从高台上拿弹弓打人取乐,看着躲避弹丸的宫女来回奔跑,他会高兴得哈哈大笑。这一天,一个厨师炖熊掌没炖烂,晋文公就杀了他,让人把尸体放进大草筐里,从朝堂上拖出去。当时晋国的大臣赵盾和士会正在朝中,他们知道了晋灵公的暴行,就去劝谏。灵公赶紧说:“我知道错了,我一定改。”
可说归说,灵公就是不改。赵盾实在看不下去,一再劝谏,结果惹得灵公怀恨在心,竟派了一个勇士去暗杀他。
天还没亮,勇士就潜进了赵家,看见赵盾已经穿好朝服,闭着眼坐在那里等候上朝。勇士退了出来,感叹说:“这样勤勉恭敬的人是老百姓的依靠啊!我杀百姓的依靠就是不义;不杀他就违背了国君的命令,又是不忠。无论是不忠还是不义,我都该死。”于是,勇士回到灵公的庭院里,一头撞死在大槐树上。
灵公又请赵盾来喝酒,并埋伏好武士准备杀他。赵盾的卫士提弥明觉察出危险,他冲到席前,拉起赵盾说:“大臣陪国君喝酒,超过三杯就不合礼制了。快走!”边说边扶着赵盾退下台阶。灵公急了,放出一条恶狗去撕咬赵盾。提弥明赤手空拳迎上去,和张牙舞爪的恶狗搏斗在一起。这时埋伏的武士也冲了出来,赵盾只得边格斗边撤退。就在这万分危急的时刻,灵公的一个卫士突然倒转兵器,拼死把其他武士打退。赵盾这才逃出来,提弥明则在搏斗中被杀。
赵穿是赵盾的本家,对晋灵公的暴行很气恨,他瞅准机会,趁灵公在桃园中游玩时杀死了他。正在逃亡的赵盾,听说灵公死了,就返回来了。因为赵盾回来后没有讨伐杀死晋灵公的凶手,史官便在史书上写道:“赵盾杀了国君。”谁知这段记载后来竟引出一起大冤案。
一年以后,赵盾去世了。这时在位的晋景公宠信一个叫屠岸贾的大臣。屠岸贾十分嫉恨赵盾的儿子赵朔,他对景公说:“赵氏宗族罪大恶极,当年就是赵盾指使赵穿杀了灵公。现在他们不思悔过,反而招收门客,暗藏兵器,这不是要犯上作乱吗?若不尽早斩草除根,只怕后患无穷啊!”景公对赵氏宗族的逐渐强盛也存有戒心,再加上最近赵同等人在跟楚国的战争中又打了败仗,于是,他便命令屠岸贾去斩抄赵氏家族。
屠岸贾亲自带领军队包围了赵家,把赵氏男女老少杀得一干二净。只有赵朔的妻子是晋景公的姐姐,她提前得到消息,躲到太后宫中,才幸免于难。可屠岸贾不肯就此罢手,他赶到景公那里,说:“公主正怀着身孕,如果生了儿子,必定是后患,不如现在就斩草除根!”景公说:“公主躲在太后宫中,不能杀她。等她生下孩子,把孩子杀掉就是了。”于是,屠岸贾派人守在宫外,天天打听公主生孩子的事。
这时,赵朔的两个门客公孙杵臼和程婴也在打听夫人生孩子的消息。他们本来是想随着赵朔一起赴死的,听说赵夫人怀有身孕,便改变了主意。
不久,夫人生了个儿子,按赵朔的遗言,给孩子取名叫“赵武”。屠岸贾得到消息后,就在景公的允许下,亲自带人进宫搜查。赵夫人把孩子藏好,推说孩子一生下来就死了。屠岸贾不信,里里外外使用各种手段仔细查找。赵夫人心里非常焦虑。
公孙杵臼和程婴更是急得火烧心一样。他们已经买通了宫中的人,告知赵夫人:要想办法把孩子救出来抚养成人,让他继承赵氏祖业。可是怎样才能做到呢?
公孙杵臼问程婴:“抚养孤儿与随着主人一同死,哪一样更难?”程婴说:“死容易,抚育孤儿可难多了。”公孙杵臼说:“赵家待你不薄,你就做那件难事吧,容易的让给我。”原来,他心里已经想好了主意,要买个孩子假冒赵氏孤儿,自己带走,然后再让程婴去找屠岸贾告发;屠岸贾得到假的赵氏孤儿,真的就可以免遭毒手了。程婴说:“我妻子刚生下一个儿子,可以假冒赵武。可我不忍心你……”公孙杵臼说:“我老了,所以选这件容易事来做。赵武就全靠你抚养了。”当夜,程婴便把亲生儿子抱出来。公孙杵臼接过孩子,连夜逃进了首阳山。
屠岸贾接到告发,立刻带了人马,跟着程婴到山里。他们很快抓到了公孙杵臼,并在他的住处搜出一个婴儿。公孙臼一边挣扎着上前抢夺,一边破口大骂:“程婴,你这个千刀万剐的小人!前天你和我约定,一道隐藏赵氏孤儿,现在却贪图赏钱,背叛主人,出卖朋友,你还是人吗?”他又仰头望天,大哭大叫:“老天呀老天!赵氏孤儿有什么罪?你们放了他,杀我一个人好了!”
屠岸贾下令把公孙杵臼和婴儿一道杀死,并重赏了程婴。看到赵氏孤儿已死,屠岸贾便撤走了把守宫门的士兵。程婴这才有机会去找晋国的一位大夫韩厥,请他想方设法把赵武带出宫。韩厥曾经受过赵氏的大恩,又知道赵氏一门死得冤屈,所以很乐意帮忙。真正的赵氏孤儿就由他偷偷带出宫来,交给了程婴。
十五年后,晋悼公即位,韩厥被拜为中军大将。韩厥找了个机会,把赵氏还有孤儿存活的消息透露给晋悼公。晋悼公很同情赵氏一门的不幸,派人把程婴和赵武找了回来。
就这样,赵武继承了先辈的事业,杀了作恶多端的屠岸贾,为全家人报了仇,他自己后来也成了晋国有名的大臣。