抗日战争末期,故事发生在河北山海关附近的一座名为挂甲台的偏僻小村。一天夜里,有人把两个装着俘虏的麻袋押送进了村民马大三的家里,其中一个是日本兵,另一个是翻译官。本来答应好了八天以后来取人,结果此后再就也没有音讯……
这两个俘虏在村子里关的时间一久,村民们便商议将二人处死,以避免麻烦。日本兵花屋小三郎起先决意以死殉国,而翻译董汉臣则利用语言上的障碍争取求生的机会。在多次试图处死两人未果之后,村民们认定他们命不该绝,就一直把这两个俘虏秘密关押在村里。
六个月之后,花屋小三郎决定报答马大三和众村民的不杀之恩,提出与村民完成一笔交易:村民一方把他和翻译送还给宪兵队,而日军方面则以两车粮食作为交换条件。在马大三的主张下,经过一番商议,村民接受了花屋的条件,并且签字订约。众人一并护送两个俘虏返回宪兵队。
到宪兵队后,尽管队长酒冢感到有辱武士道精神,还是同意履行那份约定,并率部队将粮食送往挂甲台。粮食运抵村内,日军召集全村老小饮酒欢庆,共享吃喝。当欢庆进行到一半,酒冢突然向部下宣告天皇已经向盟军投降、日本战败的消息,于是形势出现突变,日军开始杀戮无辜民众,整个村落化成屠场,又纵火将这一山村化为灰烬。
在这一灭项之灾中,只有马大三一人幸免于难。不久,国民党军队接管了日军大部俘虏,花屋所在部队也在其中。一个雨天,马大三假扮成烟贩,手持利斧冲进日军俘虏营,见人就砍,鬼子死伤数人。而他最终被国民党士兵所擒,被判处死刑。执行死刑的正是那个与他们曾经朝夕相处花屋小三郎……