Le film décrit l'histoire vraie d'un Juste parmi les nations, Oskar Schindler (Liam Neeson), un industriel allemand, membre du parti nazi, qui réussit à sauver environ 1200 Juifs promis à la mort dans le camp de concentration de P?aszów, sans pour autant occulter les travers du personnage un peu ambigu et cherchant à tirer un profit matériel de la situation.
Ne pensant tout d'abord qu'à son profit, employant une main d'oeuvre juive bon marché dans son usine, Oskar Schindler ne se rendra véritablement compte de l'horreur et la folie nazie qu'en assistant à la liquidation du Ghetto de Cracovie par le commandant SS Amon Göth (Ralph Fiennes), et particulièrement en voyant une petite fille au manteau rouge perdue dans le massacre. Dès lors, il tentera, aidé de son comptable Itzhak Stern (Ben Kingsley), de sauver le plus de vies possibles.
Alors que le camp dirigé par Amon Göth reçoit l'ordre de fermer et que des milliers de Juifs doivent alors être transférés à Auschwitz, Schindler décide d'acheter 1 100 de ces hommes pour les « abriter » en les embauchant dans la nouvelle usine d'armes qu'il a ouverte. Il rédige alors la liste contenant les noms de ceux qui seront sauvés. Mais un train de femmes destinées à partir à son usine est détourné vers Auschwitz. Elles échappent de peu à la mort et vont enfin à l'usine de Schindler. Dans cette usine, il interdit aux gardiens tout méfait sur les employés et ira même jusqu'à saboter sa propre marchandise pour qu'elle ne puisse être tirée par les canons.
Quelques mois plus tard, la guerre se termine. Oskar Schindler et sa femme quittent le pays car pourchassés comme criminels de guerre par les alliés, mais pas avant d'avoir dit adieu aux 1 100 Juifs qu'ils ont sauvés et de s'être vu offrir par ces derniers une bague portant la maxime tirée du Talmud : « Celui qui sauve une vie sauve l'humanité tout entière » (Michna, Sanhédrin 4:5 ??? ?????? ??? ??? ?????? ???? ???? ????? ????? ???? ???? ???).