Rose Valland, attachée de conservation au Jeu de Paume voit les Allemands occuper Paris et installer le principal organisme de spoliation au sein du musée. Jacques Jaujard, le directeur du Louvre, lui demande d'espionner les allées et venues des caisses de tableaux volés afin de garder une trace de leur parcours jusqu'en Allemagne. Une mission qu'elle accepte, au péril de sa vie.
L'arrivée de Bruno Lohse, un jeune marchand d'art allemand sans scrupule, complique la mission de Rose Valland. Elle manque plusieurs fois d'être fusillée. L'étau se resserre quand Hermann Goering, le numéro deux du Reich, vient se servir au Jeu de Paume pour sa collection personnelle. Il emporte avec lui de nombreux tableaux appartenant à Paul Rosenberg, le grand-père d'Anne Sinclair.
Après le débarquement et la libération de Paris, les Allemands tentent de faire partir un dernier train chargé d'œuvres d'art. Grâce aux informations de Rose Valland, la résistance-Fer va s'organiser pour le bloquer. Le lieutenant Alexandre Rosenberg de la 2ème DB tombe sur les tableaux de son père prêts à quitter Paris. De son côté, Rose Valland a une nouvelle mission : retrouver les œuvres d'art envoyées en Allemagne durant l'occupation.
C'est l'heure des comptes. Après Goering et d'autres dignitaires nazis à Nuremberg, c'est au tour de Bruno Lohse, l'ennemi de Rose Valland, d'être jugé pour ses pillages. Entre temps, Rose s'est engagée dans l'armée, et partage son temps entre la France et l'Allemagne, portée par sa mission de restitution des œuvres d'art à leurs propriétaires.