Berlin, trwa druga II Wojna Światowa. Max (Clive Owen) jest gejem, który nie stroni od pijaństwa i przygodnych romansów. Jego hedonistyczne, stosunkowo beztroskie życie zmienia się, gdy zostaje aresztowany i przewieziony do obozu Dachau. Tam odżegnuje się od swojej orientacji, aby zmienić swój więzienny status. Wkrótce poznaje Horsta, który z dumą przyznaje się do bycia gejem. Między mężczyznami rodzi się uczucie, które mimo tragicznych warunków przeradza się w prawdziwą miłość.

Powodem tego zjazdu rodzinnego jest pogrzeb babci. Biedaczka podczas schadzki w motelu potknęła się o drewnianą nogę żonatego kochanka i uderzyła głową o umywalkę. Jedna z jej córek nie potrafi zaakceptować okoliczności śmierci matki. Druga chciałaby zabrać brata z zakładu psychiatrycznego, przyjaźni się z żoną kochanka matki i pomaga jej dokonać aktu zemsty zaplanowanego na noc poprzedzającą pogrzeb.

Podczas odsiadywania wyroku za kontakty homoseksualne Oscar Wilde podupada na zdrowiu. Gdy opuszcza więzienie, zapomniany i bez funduszy ostatnie dni życia spędza w nędznym paryskim hotelu.