故事发生在1946年的德国,第二次世界大战刚刚结束,战火让大地满目疮痍,家庭妻离子散。英俊上校刘易斯(杰森·克拉克 Jason Clarke 饰)和他的妻子瑞秋(凯拉·奈特莉 Keira Knightley 饰)在战争中失去了他们的大儿子,瑞秋因此非常的痛恨德国人,但是让她没有想到的是,战后,她和她剩下的家人们,要和一个名为史蒂芬(亚历山大·斯卡斯加德 Alexander Skarsgård 饰)的男人住在同一屋檐下。 史蒂芬也在战争中失去了妻子,这让他对瑞秋没什么好脸色,两个人天天争锋相对。丧
1939年,德国以闪电战突袭波兰,迅速侵占波兰大部分领土。美丽善良的安东尼娜和丈夫扬·扎宾斯基博士经营的动物园因为德军的轰炸损失惨重,同时还面临着停业的风险。随着德军的大举攻占,波兰的犹太人遭到驱赶。安东尼娜不忍朋友背井离乡,于是与扬商议将她藏在动物园。在目睹众多犹太人的悲惨遭遇后,扬决定将动物园作为犹太人的临时藏身之所。夫妇二人找到身为德国军官的故交卢茨·赫克帮忙。身为动物学家的赫克也正欲利用动物园的美洲野牛试图繁育已经绝种的欧洲野牛,于是欣然同意他们以为德军提供猪肉的名义将动物园改为养猪场继续经营的想