Maximilian Theo Aldorfer, a former Nazi SS officer, and Lucia Atherton, a concentration camp survivor who had an ambiguous relationship with Aldorfer. Flashbacks show Max tormenting Lucia, but also acting as her protector. In an iconic scene, Lucia sings a Marlene Dietrich song to the concentration camp guards while wearing pieces of an SS uniform, and Max rewards her with the head of a male inmate who had been bullying the other inmates. (A reference to Salome.)
Thirteen years after World War II, Lucia meets Aldorfer again; he is now the night porter at a Vienna hotel. There, they fall back into their sadomasochistic relationship.
To hide his shame about his past, Max works obsessively as a hotel night porter where his aim is to please his guests, especially the Countess—a confidante who requires his services to get her young men as sexual partners. Many of the other guests are war criminals, who hold secret meetings in the hotel to uncover any evidence connecting them with their war crimes. Max prepares with these former Nazis a strategy for his upcoming War Trial at the hands of the Allies, as they conduct mock trials to learn about records in the archives they should destroy and witnesses to be tampered with or eliminated. Into this hotel culture, which reeks of nostalgia for the Führer, comes the only live witness who can testify against him—the former concentration camp inmate, Lucia Atherton, who is now married to an American opera conductor. She is someone he sexually abused in the camp and Max can't stop obsessing over their past torturous relationship. They are drawn uncontrollably to each other despite the dark past both of them share and the apparent danger from Max's unchanged fanatical and bloodthirsty Nazi comrades, Klaus and Hans.