赵氏孤儿的故事发生在春秋(公元前770年~前476年)时期的晋国(今山西省南部)。这时正当晋景公(公元前599年~581年)做国君的时候,功臣赵氏的权力越来越大,景公觉得是个威胁;便和另一个大臣屠岸贾,密谋除掉这一心腹之患。
屠岸贾是个奸诈阴险之徒,得到晋景公的密旨后,便想方设法给赵朔、赵同、赵括等兄弟罗织罪名,将赵家尽行杀害。
但在最后清点被杀人数时,发现少了一个赵朔的妻子庄姬。庄姬是晋国的公主。赵朔和庄姬离别时说:“假如生男,就取名赵武,长大了可以报仇”,然后密令门客程婴将庄姬乘夜送到宫中。
屠岸贾发现庄姬逃跑后,立即向晋景公汇报,并要求将庄姬处死。说:“公主本身是无关紧要的,但她已经怀孕,腹中有赵氏的子孙,若不斩草除根,异日长大,终成大祸,不可不虑”。景公听得有道理,说生下的是男孩,立刻把他杀掉。
不久,庄姬生了男孩,为免遭毒手,向外扬言所生为女,然后又传言孩子已死。屠岸贾当然不会相信,便在城门口张贴布告,宣布若有人报告孤儿确讯,给予千金,知情不报,则全家处斩。另一方面,派人紧守宫门,出入都严加盘诘和搜查。
这时,程婴和赵氏另一门客公孙杵臼正在策划救出孤儿和商量应付屠岸贾的悬赏和搜索。公孙杵臼向程婴说:“活着保护孤儿与为此而死难,哪一件事容易些呢?”程婴回答说:“依我看,死难比起抚孤来,要容易多了”。公孙杵臼说:“那么我选择容易的。”
他俩决定:用程婴刚出生的儿子冒充赵氏孤儿,藏在公孙杵臼处,然后由程婴出面告发。计议安排既定,程婴便去向屠岸贾告密,说他曾和公孙杵臼共同从宫中盗出赵氏孤儿,现藏在公孙杵臼处,请屠岸贾和他一起去搜查。
屠岸贾在公孙杵臼家的暗空里,果真发现了一个用锦绣包裹的幼儿(其实这是程婴的幼子),屠岸贾命令立刻将这小儿摔死,将公孙杵白杀死。
屠岸贾认为大患已除,便放松了对庄姬的警惕。庄姬于是便将真的赵氏孤儿由大将韩厥从宫中偷偷运出,交到程婴处,藏到深山里抚养。
这事情过去了十五年,晋景公已死去,由悼公继位(公元前572年一前551年)。悼公是位励精图治的国君。颇想有番作为,他任用韩厥为元帅,屠岸贾那帮奸臣都失宠了。晋悼公从韩厥那里得知赵氏有后,便令人立刻从深山里将程婴和赵氏孤儿找回,不久,为赵家报了仇。
赵氏孤儿复仇以后,晋悼公准备对劳苦功高的程婴大加奖赏,程婴却推辞说:“我之所以忍辱活到今天,是因为赵氏孤儿没有成人,大仇未复。如今已经报了,我岂能贪图富贵,愧对地下含冤的公孙杵臼呢”?他毅然地自刎身亡。晋悼公把他和公孙杵臼安葬在一起,号为“二义冢”。
赵氏孤儿的故事,由于曲折离奇,多少年来一直为人们所传颂。