1944年底,第二次世界大战已近尾声。盟军轮番轰炸德国占领的比利时、奥地利,并开始进攻德国本土。
在靠近比利时边境的德国亚尔丁森林里,有一间小木屋。小木屋里住着60多岁的汉斯奶奶。汉斯奶奶的丈夫原是守林人,开战不久被征召到兵工厂做工,后死于一次意外事故。儿子在前线阵亡,儿媳妇死于盟军的空袭,现在只剩下她和孙子科尔曼相依为命。
圣诞夜来临之时,祖孙俩只剩下半袋面粉和地窖里的8个马铃薯,还有一只每天打鸣的公鸡,他们要靠这些食物熬过这个寒冷的冬季。突然,“笃笃笃”,有人敲门,汉斯奶奶慌忙吹熄蜡烛去开门。门外站着两个头戴钢盔的士兵,他们身后还躺着一个大腿上正在流血的士兵。站着的士兵说着她听不懂的语言,同时用手比画着,汉斯奶奶立马知道了站在她面前的是德国的死敌—美国士兵。
美国士兵不懂德语,祖孙俩又不懂英语,幸好汉斯奶奶和受伤的士兵都能讲几句法语,汉斯奶奶见美国士兵伤势很重,不由动了恻隐之心,让他们进了家门。
受伤的美国士兵叫罗杰斯。据他介绍,高个士兵叫托尼,黑人士兵叫哈雷尔。他们是美国第一军的,前天战斗结束后同大部队失散了,在森林里瞎闯了两天。他们饥寒交迫,走投无路,刚好看到这儿有灯光,于是前来求救。
汉斯奶奶吩咐孙子:“去把那只大公鸡捉来,还有8个马铃薯。”
正当汉斯奶奶布置餐桌时,又有人前来敲门。这次,门外站着5个德国士兵。
孙子科尔曼吓得浑身发抖,因为窝藏敌军会被当作叛徒处死。汉斯奶奶也很害怕,但她还是强作镇静,迎上前去说:“圣诞节快乐!”
“我们找不到部队,能在您这儿休息一夜吗?”带队的下士问道。
“当然。”汉斯奶奶说,“你们还能够吃上一顿热饭。不过,我这里还有3位客人,你们大概不会把他们当朋友。现在,我们要过圣诞夜,不准在这里开枪。”