並立した諸侯各国の中に、晋の国があった。晋国には、朝廷に忠誠を尽くす文官の趙盾と、趙盾と不仲で、彼の殺害を企みつづけている武官の屠岸賈という二人の大臣がいた。
屠岸賈は智恵を絞って、策略を設け、趙盾を陥れた。晋国の国王は計略に騙され、趙盾を奸臣だと信じ、その家来を含めた一家300人余りを処刑してしまった。しかし、趙盾の息子の嫁・庄姫は王女だったため、処刑を免れ、皇居に拘禁された。
身ごもっていた庄姫は、皇居で男の子を産み「趙氏孤児」と名づけた。彼女は息子に趙家の仇を討ち、恨みを晴らすことを期待していた。しかし、屠岸賈は姫に子どもが生まれた事を知り、皇居の門を封鎖して、生後30日たった後、赤ちゃんを殺して、将来の災いを根絶しようとした。
趙盾には程嬰という医者の友人がいた。彼は姫の病気を診療するふりをして、趙氏孤児を薬箱にこっそりと隠し、皇居から連れだそうとした。皇居の門まで来た所で、守備にあたっていた韓厥将軍に見つかってしまったが、韓厥は趙盾一家をたいへん同情していたため、程嬰と赤ちゃんを逃がし、自ら剣を抜き自害した。
屠岸賈は孤児が救出されたと知った後、三日以内に孤児を引き渡されなければ、晋国の一歳未満の嬰児を全員殺すと命令を出した。
趙盾のもう一人の友人・公孫杵臼と対策を講じた程嬰は、彼らの中の一人が命を惜しまず、赤ちゃんを連れて自首することで、趙氏孤児及び晋国のすべての嬰児を救うことができるという結論に至った。
丁度、程嬰には趙氏孤児と同じぐらいの赤ちゃんがいた。程嬰は苦痛をこらえて、我が子を公孫杵臼に渡し、屠岸賈に「公孫杵臼が趙氏孤児を連れ出した」と密告をした。これにより公孫杵臼と傍の嬰児が処刑された。
屠岸賈は趙氏孤児を殺したと思い込み大喜びした。彼には息子がいなかったため、密告をした程嬰の息子(趙氏孤児)を義理の息子とみなし、武術を授けた。晋国の人は皆、程嬰の密告により趙氏孤児が殺害されたとばかり思い、彼を恩知らずだと罵った。これに対し程嬰は弁解もせず、恥を忍んで重責を担い、趙氏孤児を育てていた。
十五年後、晋国のもう一人の忠臣・魏絳が辺境の関所から戻ってきた。彼は趙氏一族が殺害されたことや、程嬰が孤児を密告したことを耳にし、怒りのあまり程嬰を思いっきり殴った。
程嬰は殴られても、ずっと黙りつづけた。魏絳が殴れば殴るほど、彼は魏絳が趙盾を愛し、趙家のあだ討ちに協力してもらえると思ったのだった。
程嬰は魏絳の忠誠心を確認した後、自分は我が子を犠牲にし、公孫杵臼が命をもって趙氏孤児を救った一部始終を魏絳に伝えた。
それを聞いた魏絳はただただ感動し、趙氏孤児のあだ討ちを助けると心に誓った。
家に帰った程嬰は、昔の出来事を絵に書き、孤児に伝える。孤児はこれではじめて自分の身の上を知り、仇を討ち、恨みを晴らそうと決心するのだった。