Holland 1944 - The final years of the Second World War find the beautiful singer Rachel Stein (Carice Van Houten) taking refuge with the Tsjempkema family in rural Holland. Once a popular and wealthy singer, Rachel has been waiting out the war like many Jews in Europe, separated from her family and a moment away from being caught by the Gestapo. Her temporary safe-house is destroyed by an Allied bomber under fire by a German fighter and Rachel is left in the arms of Rob (Michel Huisman), a sympathetic young boy, who promises to help her to safety. The next morning, Rob takes Rachel to her contact in town, who she hopes will help her find her family and escape across into liberated territory.
They arrive at the home of Mr. Smaal (Dolf de Vries) and his wife (Diana Dobbleman), a compassionate lawyer who has worked secretly to help Jews escape from Holland. Reluctantly, Mr. Smaal arranges for Rachel to join her family and cross enemy lines into Allied territory, marking her name and rendez-vous point in a little black leather notebook. But during the dangerous crossing, the boat is ambushed by German troops. The Nazi's ruthlessly kill the boats' passengers and Rachel only narrowly escapes by jumping overboard into the river.
The next morning, Rachel is rescued by Gerben Kuipers, one of the leaders of the Dutch resistance. A kind and generous man, Kuipers offers Rachel a job and a safe place to stay. But embittered by the memory of the ruthless murder of her family, Rachel decides to become a resistance fighter to seek revenge against the Germans.
During her first mission, Rachel escorts Hans Akkermans (Thom Hoffman), another leader within the Dutch resistance, to smuggle guns and correspondence aboard a train. Posing as a couple, they hope to sneak past German troops patrolling the station, but when the Germans announce a thorough bag check, Rachel's quick thinking leads her into the arms of Ludwig Muntze (Sebastian Koch) the head of the Dutch SD. Rachel charms capture Muntze's attention, and as the soldiers ask for her bags he instructs them to leave them alone. Their brief encounter makes a lasting impression on both Rachel and Muntze, but as they part, both believe this to be their last encounter together.
That prediction, however, proves short lived after an accident reveals the resistances' attempt to transport weapons and ends with the capture of several top resistance fighters including Kuipers' son. Blinded by his love for his son, Kuipers solicits both Rachel and Akkermans to break into the SD headquarters to free the captives. Remembering her encounter with Muntze, Rachel volunteers herself to seduce Muntze and obtain the release of the captives.
Her initial meeting with Muntze results in her being hired as his assistant, assuring her close and intimate contact with the leadership of the SD forces. Befriending Ronnie (Halina Reijn), Rachel is confronted by the vicious ruthlessness of the Nazi regime and is even forced to print the execution orders for her captive compatriots. Rachel soon learns the dire condition of the prisoners, and realizes that the future of their survival lies in Muntze's hands. The merciless nature of the Nazi leadership would normally never yield, but Rachel discovers Muntze's resolve wavering under the weight his conscience. Before Muntze is able to finish secret negotiations with the resistance to cease fighting in exchange for the prisoners, his second in command Franken (Waldemar Kobus) reveals Muntze's secret negotiations to General Kautner (Christian Berkel). Muntze is arrested and summarily condemned to death for treason and aiding the resistance.
Seizing this moment of turmoil in the Nazi leadership, Akkermans mounts a rescue in an attempt to free the captured resistance fighters. But the surprise arrival of their small squad into the SD headquarters was anticipated by the Germans. Unable to save any of the captured prisoners, Akkermans is the only one to make it out alive. But unknown to the resistance fighters, Rachel helps Muntze, whom she has grown to love, to escape.
The failed escape leads the resistance to believe they were betrayed by a self-serving traitor. Learning of Muntze's escape, they begin to believe that Rachel exchanged information for his release. Now on the run from both the Nazi's and the resistance, Rachel and Muntze spend the next several weeks waiting out the war together.
Several months later, following the Allied liberation of Holland, Muntze and Rachel return to seek out Mr. Smaal's help to escape the harsh judgment of the victorious Dutch resistance. However, their return to the jubilant city is not a welcome one. Together, Rachel and Muntze are confronted with the harsh vengeance of the victor's justice as Muntze is recognized as the leader of the SD. Trying to flee the throngs of civilians demanding his arrest, Muntze is captured and executed on the orders of General Kautner, claiming yet one more victim for his ruthless regime. Alone once more, Rachel sets out to uncover the person who framed her as the traitor and right her blighted wartime record. But, as she delves deeper into the events of the past, Rachel uncovers trails of deceit pointing to compatriots she once counted as her closest friends and embarks upon a retributive justice of her own, to right the wrongs of this unforgiving period of history.