赵朔妻子是晋景公的姑姑,当时怀有身孕,为了避难,躲进了公宫。不久生了孩子,是个男婴。屠岸贾搜查公宫,要杀害这个婴儿。赵夫人情急生智,把婴儿藏在裤子里,躲过了搜查。赵夫人为了保护这根独苗,就把婴儿偷送出宫,交给赵朔的友人程婴。程婴与赵朔的门客公孙杵臼商量,将赵氏孤儿留给程婴,由公孙杵臼取了一个别人的婴儿带着逃入山中,然后由程婴出来告发公孙杵臼,屠岸贾派人杀死了公孙杵臼和婴儿,造成赵孤已灭的错觉。程婴终于把赵氏孤儿养大了。民间传说,公孙杵臼带的婴儿,就是程婴的婴儿。程婴调包,保全赵孤,牺牲自己的骨肉,更是义重于天。十五年以后,赵氏孤儿长大,取名赵武,意思让他发扬武德,消灭仇敌,重振赵氏门风。
有一天,晋景公生了病,韩厥等人借机制造舆论,说是赵氏的冤魂在作祟,要求晋景公为赵氏平反。晋景公问:“赵氏还有后吗?”韩厥把实情告诉了晋景公,晋景公命韩厥与诸将合力支持赵武发难,诛灭了屠岸贾,恢复了赵氏的爵邑。
又过了几年,赵武过了二十岁生日,行了加冠礼,独掌门户。程婴向赵武告辞说:“我程婴活下来是为了救赵孤,所以让公孙杵臼和那个替死的孩子先走了一步,现在你成人了,我该去追随公孙杵臼,向他报告你的成长。”赵武哭泣不肯。程婴不听,自杀。赵武以人子之礼尽孝三年,以后年年祭祀,如同生父。