Frankreich im Sommer 1940 während der deutschen Besatzung: Die junge Lucile Angellier (Michelle Williams) lebt unter der Obhut ihrer dominanten Schwiegermutter Madame Angellier (Kristin Scott Thomas). Ihr Ehemann ist im Krieg und beide Frauen warten auf Nachricht von ihm. Luciles einzige Freude ist das Klavierspiel. Ihr Leben ändert sich dramatisch, als Pariser Flüchtlinge im Dorf eintreffen - bald gefolgt von einem deutschen Regiment, das in dem kleinen Ort stationiert wird. Viele Einwohner müssen Soldaten bei sich aufnehmen. Der deutsche Offizier Bruno von Falk (Matthias Schoenaerts) wird im Hause der Familie Angellier einquartiert. Während Lucile versucht, den attraktiven und kultivierten Bruno zu ignorieren, versteckt sie den flüchtigen Bauern Benoit (Sam Riley), der in Notwehr seinen deutschen Hausgast Kurt Bonnet (Tom Schilling) tötete, vor den Besatzern. Doch bald kommen sich Lucile und Bruno durch ihre gemeinsame Leidenschaft für die Musik näher.