纽约市朱利安·阿尔班(布莱斯·盖赫萨尔饰),电影《奇迹》中的欺凌者奥吉的同学,正在努力适应新学校的生活。有一天,朱利安放学回家,发现来自巴黎的祖母萨拉(海伦·米伦饰)来访,她将出席在大都会艺术博物馆举办的个人作品回顾展。尽管朱利安与缺席的父母关系疏远,但他与祖母关系亲密,向她倾诉了自己在学校适应困难的困扰。朱利安告诉她,他从与奥吉相处的经历中学到的教训是:努力融入、做一个“正常”的人。祖母告诉朱利安,他不应该渴望做“正常”的人,并决定告诉他自己童年时的故事——她在法国乡村的成长经历,以及她所在的小村庄是如何充满魔力、宁静且与大自然和谐共处的……
1942年,法国:萨拉·布鲁姆(阿里埃拉·格拉塞尔饰)与父亲马克斯(伊莎伊·戈兰饰),一位外科医生,和母亲罗斯(奥利维亚·罗斯饰),一位数学教授,住在一个被纳粹占领的小镇上的中产阶级公寓。萨拉与朋友们一起去当地的电影院,那里她的同学朱利安·博梅(奥兰多·施韦尔特饰)是一名放映员。萨拉的朋友们和同学们嘲笑朱利安,因为他得过小儿麻痹症,走路需要拐杖,萨拉承认自己甚至不知道他的名字,大家都叫他“螃蟹”,因为他走路的姿势像螃蟹。
萨拉专心于学业和艺术;有一天,她的老师皮蒂让女士(帕齐·费兰饰)鼓励她分享她画的一幅窗边鸟的画,并追求成为一名艺术家,强调想象力的重要性。萨拉去了一家本地面包店,店主犹豫是否为她服务,甚至拒绝收她的钱。那天晚上,萨拉得知罗斯因是犹太人而被学校解雇。罗斯和马克斯在晚餐时争论,罗斯想保持乐观,但马克斯不再相信他们是安全的,认为纳粹将他们视为二等公民。
有一天课后,朱利安归还了萨拉忘记带的笔记本,萨拉的朋友们调侃她,认为朱利安喜欢她。萨拉的同学文森特(杰姆·马修斯饰),萨拉真正喜欢的男生,要求看她的画,并似乎对她有好感,但随即因为萨拉是犹太人而侮辱她。萨拉在公园看到一场木偶剧,嘲笑犹太人,随着镇上的仇恨情绪不断蔓延。马克斯说服罗斯相信一家人需要离开,告诉萨拉这只是暂时的。马克斯要求萨拉继续穿着冬靴上学,直到他们离开。
时光流逝,萨拉每天上学,偷偷换鞋。一天,当皮蒂让女士收到警告,称镇上犹太人被抓捕,纳粹即将来到学校时,萨拉被叫出教室;皮蒂让女士把外套借给她,萨拉和一群学生在校长路克牧师(斯图尔特·麦奎里饰)的帮助下逃入附近的森林。文森特将逃跑计划泄露给纳粹,警察开始追捕他们。萨拉成功躲避了追捕,而其他犹太同学和皮蒂让女士被抓走;纳粹指挥官在学生面前枪杀了帮助他们的男孩。朱利安找到萨拉,提出带她逃走,带她进入他父亲工作的下水道。萨拉勉强跟随朱利安,他将她安全带到他的家,他告诉她可以在谷仓里藏身,不会被发现。朱利安离开去告诉父母,萨拉第一次知道了朱利安的名字。现在的朱利安惊讶地发现,他的名字是有意取的,祖母觉得这个名字意义重大。
朱利安的父母,维维安(吉莲·安德森饰)和让-保罗(乔·斯通-弗林斯饰),来到家里,帮助萨拉在谷仓的阁楼上安顿下来;他们也答应帮助寻找马克斯和罗斯。萨拉被告知要保持隐藏,因为朱利安的邻居疑似纳粹线人。一天晚上,朱利安带来艺术用品,萨拉向他道歉,表示自己之前没有尊重朱利安。几周过去了,没人能找到萨拉的父母;晚上,朱利安给萨拉上课,向她传授同学们的八卦。文森特和其他本地男孩被招募加入本地纳粹,并被命令巡逻镇上,报告可疑行为。
朱利安得知他在剧院的老板乔治与自由战士团体合作,他请求帮助获得伪造的文件,带萨拉逃离法国,前往瑞士的安全地带。朱利安告诉萨拉,如果不拖她后腿,他愿意陪她一起去,他一直想去巴黎;萨拉通过玩影子戏剧来假装他们一起旅行,朱利安努力配合,最终能够融入这个幻想。三周过去了,两人继续一起想象冒险,关系日益亲密,共同热爱电影的情感让他们更加接近。
朱利安去剧院发现剧院被文森特和他的纳粹巡逻队劫掠。朱利安藏起来,目睹他们破坏剧院,打破椅子,射击屏幕。萨拉安慰朱利安,并与他分享一本翻页书,书里画着一只白鸟,这是萨拉每当需要安慰和希望时想象的图像。乔治被纳粹抓走,萨拉的逃跑计划暂停。随着季节的变换,纳粹的占领逐渐加剧,萨拉依旧藏身谷仓,并与朱利安因共同经历仇恨而更加亲近。萨拉开始对朱利安产生了浪漫的感情。
文森特抓到朱利安偷拿萨拉的画册,并跟踪他回到谷仓;文森特和他的同伙把朱利安狠狠打倒在地;他反抗并通过唤醒谷仓的蝙蝠让他们离开。萨拉从藏身处出来帮忙,但朱利安生气她离开阁楼,暴露了自己和家人的安全。朱利安拒绝在接下来的几周里探望萨拉,维维安代替了他,照顾萨拉。一天晚上,朱利安回来了,萨拉和朱利安都为自己之前的行为道歉;朱利安承认他因为自己的残疾而在萨拉面前感到羞愧,不愿显得软弱。
季节变换,春天到来;萨拉已经在藏匿中度过了一年多。一天,朱利安、维维安和让-保罗来到谷仓为萨拉庆祝生日。朱利安送给萨拉一只雕刻的木鸟,两人一起跳舞。夜晚的庆祝被一则广播打断,广播报道盟军解放了意大利的一个小镇,大家兴奋地认为这可能预示着战争的结束。那晚,朱利安偷偷带萨拉去森林里,享受一刻自由;朱利安向萨拉表白了心意,两人亲吻。在现在,祖母说她希望自己那晚能告诉朱利安她爱他。
第二天早上,朱利安心情愉快,决定走大路去学校。按照文森特的命令,朱利安被纳粹警察逮捕,文森特在朱利安的书包里发现了萨拉的画册。一个当地人向让-保罗报告了朱利安被捕的消息。文森特单独去寻找萨拉,并在谷仓开枪。萨拉逃进了树林。文森特追上她,在一片空地上抓住了她,但一群狼出现,暴力地杀死了文森特,然后撤退。萨拉回到博梅家,寻找维维安和让-保罗,并冒着风险去邻居家寻求帮助;邻居们用枪威胁萨拉,但很快露出了真面目,原来他们是同盟,自己也在藏匿一位当地的犹太拉比及其妻子,并计划在当天通过抵抗组织将他们走私出去。