В 1815 году Шарль-Франсуа Мириэль, известный как епископ города Диня под прозвищем Бьенвеню, занимал архиерейский престол. В молодости он вел светскую жизнь, но после революции обратился к духовному служению. Наполеон, по своему желанию, назначил его епископом. Мириэль пожертвовал епископский дворец под больницу, переехал в скромный дом и все свое жалованье отдавал бедным. К нему обращались как богатые, так и нуждающиеся, и он заслужил всеобщее уважение благодаря своему милосердию и способности прощать.
В начале октября 1815 года в Динь прибыл запылённый путник — крепкий мужчина средних лет с суровым лицом, по имени Жан Вальжан. После девятнадцати лет каторги за кражу хлеба для голодных детей своей сестры, он стал замкнутым и озлобленным, а с «жёлтым» паспортом был изгоем. Отказавшись от ночлега в разных местах, он получил совет обратиться к епископу. Мириэль выслушал его и предложил приют. Ночью Вальжан попытался украсть серебро епископа и даже хотел напасть на него, но был остановлен внутренним чувством и сбежал. Утром жандармы задержали его с похищенным имуществом, однако епископ оправдал Вальжана, заявив, что он забыл подсвечники и подарил их ему, призвав использовать дар для исправления. Это событие стало началом внутреннего преображения бывшего каторжника, который впервые за много лет испытал раскаяние.
К 1818 году в Монрейле процветала промышленность благодаря стараниям некоего дядюшки Мадлена, который преобразовал местный промысел по изготовлению искусственного гагата. Он стал богат и занял пост мэра в 1820 году, несмотря на личную скромность. Однако его деятельность вызывала подозрение у полицейского агента Жавера, который был непреклонен в своей вере в закон и не допускал возможности исправления преступников. Его жизнь была посвящена преследованию правонарушителей.
Жавер сообщил мэру, что в Аррасе пройдет суд над Жаном Вальжаном, обвиняемым в ограблении мальчика. Ранее он ошибочно полагал, что Вальжан скрывается под личиной господина Мадлена. На суде подсудимый отказывался признаться, но неожиданно неизвестный мужчина объявил себя настоящим Жаном Вальжаном, что привело к раскрытию тайны мэра. Суд приговорил Вальжана к пожизненному заключению на галерах Тулона. Там он спас жизнь матросу и покинул корабль, бросившись в море. Считалось, что Вальжан утонул, но позже он появился в Монфермейле, где покаялся за жестокое обращение с женщиной, родившей внебрачного ребенка. Она передала ему заботу о своей дочери Козетте, оставленной на попечение жестоких трактирщиков Тенардье, которые мучили девочку. Взяв Козетту к себе, Жан Вальжан поселился на окраине Парижа, обучал ее грамоте и заботился о ней, но продолжал находиться под наблюдением Жавера. В одной из ночных облав Вальжан едва не был арестован, но спасся, укрывшись в женском монастыре. Козетту приняли в пансион, а Вальжан устроился помощником садовника.
В это время в доме господина Жильнормана жил его внук Мариус Понмерси, чья мать умерла, а отец считался предателем. Мариус, узнав историю отца, воспринял его как героя и начал противостоять дяде. Покинув дом, он оказался в бедности, но почувствовал свободу. В Люксембургском саду он заметил старика с молодой девушкой, в которую влюбился, но застенчивость мешала знакомству. Старик вскоре исчез, что огорчило юношу. Позже Мариус подслушал разговор о заговоре против старика и предупредил полицию. В результате полицейская операция сорвала планы бандитов, но Вальжан, преследуемый Тенардье, сумел скрыться. Жавер осознал, что упустил важную цель.
В 1832 году Париж охватили волнения, и Мариус продолжал искать девушку из сада, которой оказалась Козетта. Они признались друг другу в любви, не подозревая, что Жан Вальжан следит за ними и опасается за безопасность. Восстание 4 июня привело к строительству баррикад, где Мариус сражался вместе с товарищами. Жан Вальжан, обеспокоенный за Козетту, присоединился к защитникам. В руки повстанцев попал переодетый Жавер, которого схватили, а Вальжан освободил, проявив милосердие. Вскоре защитники баррикады были уничтожены, и раненого Мариуса Вальжан вынес на своих плечах через катакомбы, но встретился с Жавером. Тот разрешил ему отвести Мариуса к деду и попрощаться с Козеттой, после чего неожиданно отпустил Вальжана. Не в силах примирить долг с состраданием, Жавер покончил с собой.
Мариус выздоровел и женился на Козетте при благословении Жана Вальжана и господина Жильнормана. Вальжан признался в своем прошлом, что вызвало ужас у Мариуса. Чтобы не омрачать счастье Козетты, Вальжан решил постепенно уйти из их жизни. Девушка сначала удивилась, но привыкла к редким визитам, пока Вальжан не перестал приходить вовсе. Старик угасал, и несмотря на помощь врача, его состояние ухудшалось. Мариус, ошибочно считая Вальжана преступником, узнал правду от Тенардье, который раскрыл, что Вальжан не только был невиновен, но и спас его жизнь. Молодой человек с Козеттой пришли к Вальжану с просьбой о прощении. Старик умер в окружении любимых, а молодая семья заказала памятную надпись на его могиле.