宋の国に、「楊家将」という、代々武術を習得する家系があった。父親の楊令公、母親の佘太君を始め、8人の子息も皆勇ましく、戦に長け、数多くの手柄を立てていた。
ある時、遼国が謀略を設け、和議のため、宋国の皇帝を遼国に迎えると招いた。宋は遼の本当の意図が見抜けなかったため、楊家の長男を宋の皇帝と偽り、他の七人の兄弟と共に遼国に行かせた。
一行は遼軍の待ち伏せに遭い、楊家の兄弟三人が戦死した。四男の四郎は遼軍の虜にされたが、苗字を「木易」に変え、遼軍の目をごまかした。
遼国の女帝である蕭太后は木易の風貌と武芸を気に入り、彼に娘の鉄鏡公主を嫁がせた。
こうして「木易」に改名した楊家の四郎は、遼国女帝の娘婿となった。彼は皇女と仲むつまじく暮らし、息子を一人もうけた。しかし、彼が宋国の楊四郎だとは誰一人知らなかったのだった。
宋と遼の戦いは絶えることなく、15年後、遼国は再び大挙して宋を襲った。楊四郎と鉄鏡公主も蕭太后とともに、先陣に立った。
宋は四郎の弟である六郎を元帥とした兵を派遣し、抗戦に当たった。四郎の母親、佘太君も糧秣を運送するため、戦場に来ていた。
四郎は母親と弟が戦場にいることを耳にし、たいへん懐かしく思った。宋の陣営へ母親を訪ねに行きたかったが、軍令で、遼国皇帝の許可を意味する手形・令箭がなければ、誰一人、関所から出ることは許されなかった。
四郎が苛立ち、鬱々としている様子が皇女の目に入り、彼女は再三その訳を彼に尋ねた。
四郎は初めて、皇女に一部始終を告白し、宋の陣営に入り、母親を訪ねたいことをつげ、皇女の助けを求めた。
彼を愛する皇女は母親から令箭を盗んでくることを快諾したが、四郎が宋の陣営から戻ってこないことを心配した。そこで、四郎は彼女に一晩で必ず戻ってくると誓った。
皇女は幼い子どもをつれて、太后を尋ねた。子どもをわざと大声で泣かせ、太后が急いであやしている隙に、タイミングを見計らって、皇女は子どもが令箭をおもちゃにしたいと言っていると告げた。孫が可愛い太后は、令箭を子どもに渡し、翌日返すよう皇女に申し付けた。
四郎は令箭を手に、関所を出て、宋の陣営に入った。弟の六郎に会い、15年前に戦場ではぐれた事を思い出し二人は抱き合って大声で泣いた。
その後、四郎は母親を訪ねた。白髪になっていた老母は長年、生死の消息もつかめなかった息子と再会し、驚きと喜びに溢れた。二人は朝までたくさんの話をした。
夜が明け、四郎は母との別れを惜しみながらも、遼の陣営に戻っていった
四郎は、遼の陣営の関所を通過する時に女帝の娘婿だとばれ、蕭太后のところへと連れて行かれてしまう。
太后は自ら選んだ娘婿が宋の武将だとは夢にも思っていなかった。ましてや、その四郎の無断な行動に自分の娘までが手助けをしたと知ると激怒し、四郎を直ちに処刑するよう命じた。
鉄鏡公主はあわてて息子を抱いてかけつけ、助命を嘆願した。
太后はようやく四郎を許し、彼に家に戻り、母親を訪ねにいくことを許したのだった。