David Bennent spiller Oskar, den unge sønnen til en kasjubisk familie som bor på landsbygda i Fristaden Danzig, cirka 1925. Når han fyller tre får han en blikktromme. Han lover at han aldri skal bli større, istedenfor at han skal bli et miserabelt eksemplar av et voksent menneske. Det finnes nok av eksempler rundt ham. Moren hans Agnes driver har en hemmelighet en affære med Jan, en polsk postkontor-ansatt. Ektemannen hans Alfred er gode venner med Jan, og Alfred opptrer for det meste bevisst uvitende om konas utroskap. Oskars opphav er usikkert, selv om han tror han er sønnen til Jan.