Фільм розпочинається масовим переселенням польських євреїв до Краківського ґетто в 1939 році. Тим часом Оскар Шиндлер (Ліам Нісон), не дуже вдалий підприємець і член Націонал-соціалістичної робітничої партії Німеччини, прибуває в місто з надією отримати зиск від війни. Шиндлер заручається підтримкою військових і має намір відкрити фабрику з виробництва кухонного приладдя. Не знаючи досконало, як вести таку справу, він убачає помічника в Іцхакові Штерні, співробітникові Краківського юденрату, і вступає у співпрацю з ним. Штерн має впливові зв'язки в єврейській громаді та на «чорному ринку» в ґетто (згодом Шиндлер знайомиться з Польдеком (Леопольдом) Пфефферберґом, який постачає його товаром). Єврейська громада позичає йому гроші на відкриття фабрики в обмін на певний відсоток від продукції. Нацистські чиновники задоволені підприємством, а Шиндлер — прибутком. Іцхак Штерн очолює адміністрацію фабрики. Шиндлер наймає євреїв замість поляків, тому що вони «коштують менше». Працівникам Шиндлера дозволяється виходити за межі ґетто, Штерн фальсифікує документи для кожного з них, що підтверджують їх «потрібність» німецькій армії — це рятує від концтабору й неминучої смерті.
Капітан СС Амон Ґет приїжджає до Кракова, щоб розпочати будівництво нового концтабору у Плашеві (пол. Plaszów). Він наказує ліквідувати частину ґетто, сотні німецьких солдатів спустошують тісні кімнати, вбивають усіх, хто протестує, старих і хворих, у багатьох випадках — знищують без жодної причини. Шиндлер споглядає масове вбивство з височини, ця картина вражає його… Він поводиться дуже обережно, заводить дружбу з Амоном Ґетом, продовжує підкуп чиновників, щоб часом не виникло загрози для його працівників і найменшої підозри, що він намагається допомогти їм.
Хід війни змінюється. Ґет отримує наказ із Берліна знищити останки вбитих євреїв у Краківському ґетто, ліквідувати концтабір у Плашеві й відправити всіх, хто ще живий, в Аушвіц (пол. Auschwitz-Birkenau). Підкуповуючи Ґета, Шиндлер отримує дозвіл на створення «власного концтабору» зі своїх працівників, таким чином фабрика продовжує роботу. Наміром Шиндлера залишається отримання прибутку, але він також наказує Штерну рятувати якомога більше життів, наскільки це дозволяють обставини.
«Список Шиндлера» містить «кваліфікованих працівників». Для багатьох євреїв бути внесеним у нього означає вижити.
Шиндлер створює свій концтабір у Чехословаччині, звідки він родом. Майже всі люди з його списку без перешкод прибувають на нове місце. Потяг, що повинен був доставити єврейських жінок у новий табір, помилково перенаправлено в Аушвіц. Їх охоплює жах, оскільки вони знають, що у цьому місці можуть відправити начебто в душ, а насправді — у газові камери. Шиндлер, щойно дізнавшись про це, приїжджає в Аушвіц і вирішує проблему, відтак жінок перенаправлено у Чехословаччину. Шиндлер забороняє охоронцям фабрики вбивати або мордувати будь-кого з працівників. Він дозволяє євреям святкувати шабат. Дружина Шиндлера, Емілія, тепер працює з ним на фабриці (раніше вона тільки приїжджала до Польщі провідати його), і він клянеться їй у вірності (Оскар Шиндлер обожнював жінок і завжди мав декілька коханок).
Війна в Європі закінчується. У 1945 році Шиндлер змушений утікати, оскільки він член нацистської партії. Виходить наказ ліквідувати табір. Шиндлер переконує охоронців-есесівців відпустити євреїв і повернутися до своїх родин людьми, а не вбивцями. Він виголошує промову перед працівниками фабрики, котрі вручають йому підписаного всіма листа, що він для них не злочинець, а також золоту каблучку з викарбуваними словами: «Хто рятує одне життя — рятує весь світ» (англ. Whoever saves one life saves the world entire), (цитата з Талмуду). Шиндлер із дружиною залишає фабрику на своєму автомобілі, ридаючи перед натовпом.
Євреї Шиндлера перебувають ніч на дворі, біля стін фабрики, їх будить ранкове сонце. Приїжджає радянський вершник і проголошує, що вони звільнені Червоною армією.