1939年9月、クラクフのアンナ(マヤ・オスタシェフスカ)は娘を連れ、夫のアンジェイ大尉(アルトゥル・ジミイェフスキ)を探しに行く。一方、東から来た大将夫人(ダヌタ・ステンカ)はクラクフに向かう。アンジェイや仲間のイェジ(アンジェイ・ヒラ)たちは、ソ連軍の捕虜となっていた。アンジェイは、見たことすべてを手帳に書き留める決意をする。アンナはクラクフに戻ろうとするが、国境を越えられない。11月、アンジェイの父はドイツ軍の収容所に送られる。翌年初め、アンナと娘、アンナの義姉と娘は、ロシア人少佐の家に匿われていた。義姉親子は強制移住のため連れ去られるが、アンナたちは逃げ延びる。春、アンナと娘は義母のいるクラクフへ戻り、義父の死を知る。アンジェイはイェジから借りたセーターを着て、大将、ピョトル中尉らと別の収容所に移送される。1943年4月、ドイツは一時的に占領したソ連領カティンで、多数のポーランド人将校の遺体を発見したと発表する。犠牲者リストには大将、イェジの名前が記され、アンジェイの名前はなかった。大将夫人はドイツ総督府で夫の遺品を受け取り、ドイツによるカティンの記録映画を見る。1945年1月、クラクフはドイツから解放される。イェジはソ連が編成したポーランド軍の将校となり、アンナにリストの間違いを伝える。イェジは法医学研究所に行き、アンジェイの遺品をアンナに届けるよう頼む。イェジは大将夫人から“カティンの嘘”を聞き、自殺する。国内軍のパルチザンだったアンナの義姉の息子タデウシュは、父親がカティンで死んだことを隠すよう校長から説得されるが、拒否する。その帰り道、国内軍を侮辱するポスターを剥がした彼は警察に追われ、大将の娘エヴァと出会う。校長の妹はカティンで遺体の葬式を司った司祭を訪ね、兄ピョトルの遺品を受け取る。そして兄の墓碑にソ連の犯罪を示す言葉を刻み、秘密警察に狙われる。法医学研究所の助手グレタはアンナに、アンジェイの手帳を届ける。