1815 год. Франция стоит на коленях после поражения в битве при Ватерлоо. Жан Вальжан вот-вот отбудет 19 лет на каторге в Тулоне, куда его отправили за мелкое преступление. Его отпускает на волю целеустремлённый надзиратель Жавер. Жавер люто ненавидит Вальжана. Жизнь бывшего заключенного трудна, и Вальжан сталкивается с предубеждениями на каждом шагу. Встреча с епископом города Динь заставляет его задуматься о собственном моральном облике и о жизни, которую он хотел бы вести. Молодого Мариуса Понмерси воспитывает дед, старый роялист — господин Жильнорман. Его отца, барона Понмерси, полковника армии Наполеона, от гибели в битве при Ватерлоо спасает мародер Тенардье. Понмерси оспаривает отцовские права у тестя Жильнормана. Прекрасная парижанка Фантина приходит с подругами на танцы. Они встречают симпатичных холостяков, и Фантина увлекается обворожительным Феликсом…
Фантина вынуждена покинуть Париж в поисках работы. Ей, не имеющей ни гроша за душой, приходится принять невыносимо тяжёлое решение, чтобы её дочери Козетте жилось лучше. Она прибывает в Монтрей и находит там работу на фабрике, которой управляет щедрый господин Мадлен (Жан Вальжан начал новую жизнь под именем господа Мадлена, мэра Монтрея и владельца фабрики). Его жизнь перестаёт быть спокойной, когда Жавера назначают новым инспектором полиции Монтрея. Жавер подозревает, что господин Мадлен что-то скрывает, и намерен вывести его на чистую воду. Маленького Мариуса Понмерси воспитывает дед, который учит его ненавидеть отца и всё, за что тот боролся. Тенардье и его жена владеют харчевней в Монфермее. Они соглашаются взять к себе маленькую Козетту, и Фантина каждый месяц отправляет деньги на её содержание. Коварные супруги Тенардье держат Козетту в чёрном теле, но постоянно требуют у Фантины всё больше денег — якобы на содержание её дочери. Когда Фантину увольняют с фабрики, она вынуждена пойти на крайние меры.
Жавер и собственная совесть заставляют Жана Вальжана признаться в том, кто он на самом деле. Вальжана берут под арест, и Жавер исполняется уверенности, что уж на этот раз он поймал его навсегда. Вальжан бежит из-под стражи и находит Фантину в больничной палате. Он даёт женщине обещание разыскать Козетту. Вальжан приезжает в Монфермей, находит Козетту и забирает её у жестоких супругов Тенардье. Они бегут в Париж и начинают там новую жизнь, однако Вальжан переживает, что их могут найти. Жавер, к тому моменту уже служащий в полиции Парижа, узнаёт о пропавшей в Монфермее девочке и отправляется на расследование этого дела. Расследование приводит Жавера обратно в столицу.
1832 год. Козетта больше не намерена оставаться в монастыре. Они с Вальжаном решают уехать и начать новую жизнь в Париже. Жавер продвинулся по службе в полиции Парижа, но то, что Вальжан всё ещё на свободе, не даёт ему покоя. Студент Мариус Понмерси, готовящийся стать адвокатом, ссорится с дедом, узнав правду о покойном отце и его революционных идеалах. Он заселяется в убогую комнатушку в Париже, его соседи — семья бедных и жестоких людей. Их старшая дочь Эпонина влюбляется в Мариуса. Козетта по-прежнему чувствует себя взаперти. Однажды, во время прогулки с Вальжаном, она привлекает внимание Мариуса. Вальжан обеспокоен превращением Козетты из девочки в молодую женщину. Его тревога перерастает в гнев, когда Козетта заговаривает с Мариусом, рискуя всем. Супруги Тенардье вынуждены разрабатывать план мести старому врагу.
Париж находится на грани восстания: беспорядки разгораются на улицах и в тавернах, в них участвуют студенты и рабочий класс. Несмотря на столь значительную угрозу закону и порядку в городе, Жавер удваивает усилия по розыску Жана Вальжана. Несмотря на то, что Мариус без ума от другой, Эпонина рассчитывает на то, что он оценит её любовь, и помогает ему найти Козетту. Вальжан предупреждает Козетту о том, что вскоре они будут вынуждены покинуть Париж. Мариус даёт любимой Козетте обещание. Вальжан, узнав о непосредственной угрозе, уводит Козетту в безопасное место. Ревнивая Эпонина перехватывает записку, которую безутешная Козетта оставляет Мариусу. На похоронах генерала Ламарка население Парижа восстаёт, начинаются столкновения. Друг Мариуса Анжольрас возглавляет группу студентов и рабочих. Мариус нигде не может найти Козетту. Молодой человек решает, что теперь для него потерян смысл жизни, и от отчаяния присоединяется к друзьям на баррикадах.
Революционеры и армия готовятся к следующему сражению. Беспорядки становятся всё более кровавыми. Жан Вальжан находит Мариуса на баррикадах. Его мучают противоречивые чувства, ведь молодой человек хочет забрать у него Козетту. Новые товарищи Вальжана восхищены его героизмом. Жавер и Жан Вальжан встречаются вновь: Жавер попадает в плен. Бой на баррикадах достигает трагической кульминации. Вальжан скрывается в канализации: он несёт на себе тяжелораненого Мариуса. Жавер идёт по следу беглецов. Однако самоотверженность Вальжана поражает Жавера в самое сердце, и, к своему удивлению, он больше не чувствует прежней ненависти к бывшему каторжнику…