Varsovie 1939. C'est la fête dans la famille de Jacek : on marie l'une de ses cousines. Mais à la synagogue, Jacek n'a d'yeux que pour Halina. A la réception qui suit, on chante et on danse. Jacek pense toujours à Halina. Ce n'est que plus tard, dans une cave, au moment d'une alerte que Jacek approche Halina. Brièvement car ses parents ne sont pas loin. 1940. Les Juifs de Varsovie sont enfermés dans un ghetto. Halina fuit avec ses parents, après un échange de serments avec Jacek. Jacek fait tout pour oublier le ghetto. En passant par le cimetière juif, il gagne la zone libre de Varsovie. Il aperçoit Halina qui le repousse d'abord avant de lui annoncer que ses parents ont été déportés et qu'elle a trouvé refuge chez des chrétiens. Avec ses copains, Jacek fait des allées et venues entre le ghetto et l'extérieur. Il rapporte des provisions parfois volées et fait du trafic. Blessé lors d'une poursuite, il va voir Halina qui le soigne. Puis ils rentrent ensemble dans le ghetto. Juillet 1942. Les rafles se font plus nombreuses. Jacek y échappe. Le jour où il est pris, il s'échappe peu après. Franek, un chrétien, ami de son père, l'aide. Chez lui, Jacek retrouve Halina et ils s'aiment pour la première fois. Jacek et Halina retournent au ghetto et participent à l'insurrection. La répression est terrible. Le 19 avril 1943, Jacek et sa famille sont arrêtés. Halina aussi. Arrivés dans un camp, ils sont tous dispersés. 1945. Les Américains libèrent Jacek en Bavière. Celui-ci parcourt l'Allemagne pour se venger et pour retrouver Halina. C'est chez Franek qu'ils sont à nouveau réunis. Mais Halina meurt deux jours plus tard. Deux ans après, il retrouve sa mère. Il est aujourd'hui le seul survivant de tous les descendants de sa grand-mère Masha.