第二次世界大戰期間,中國河北掛甲台村的農民馬大三(姜文飾)在日本人的統治下過著平靜的生活。一個晚上,游擊隊綁架了日軍陸軍士兵花屋小三郎(香川照之飾)和翻譯董漢臣,把他們捆綁塞入麻袋放在馬大三家裡,並吩咐馬好好看管,幾天後的大年三十來帶人。馬大三和村民戰戰兢兢地看守兩人,花屋小三郎和董漢臣數次發出求救信號,皆被村民化解。半年過去了,村民們擔心事情暴露,卻又不敢把花屋等放了。
馬大三最終被董漢臣說動,把花屋和董送到了日軍憲兵隊駐地,以換取糧食。日軍憲兵軍官酒冢豬吉是花屋的同鄉。他表面上對馬等人客氣,但背後指責花屋讓皇軍蒙恥並毆打了他。憲兵隊整隊去馬的村子裡和村民聯歡送糧,酒到酣時卻乍露殺機。