Действие романа разворачивается в России начала XX века, в рабочей слободке, где фабричные рабочие с семьями живут в условиях полной зависимости от фабрики: утром они уходят на работу по сигналу гудка, вечером возвращаются домой, а в праздники, собираясь вместе, обсуждают только фабричные дела, часто злоупотребляют алкоголем и вступают в драки. Молодой рабочий Павел Власов, сын вдовы Пелагеи Ниловны, неожиданно для матери начинает вести иной образ жизни: он посещает город, приносит книги и много читает. На вопрос матери, зачем ему запрещённая литература, Павел отвечает, что стремится узнать правду, несмотря на риск ареста.

Со временем в доме Власовых собирается кружок единомышленников Павла: Андрей Находка, недавно приехавший из Канева и работающий на фабрике; несколько знакомых рабочих; молодая учительница Наташа, приехавшая из Москвы; Николай Иванович, который иногда заменяет Наташу в занятиях с рабочими; а также Сашенька, девушка из семьи помещика, которая вместе с Наташей покинула родной дом. Между Павлом и Сашенькой возникает любовь, но они отказываются от брака, считая, что семейная жизнь отвлечёт их от революционной борьбы. На собраниях они читают исторические книги, обсуждают тяжелое положение рабочих, идею солидарности трудящихся и впервые для матери звучит слово «социалисты». Андрей Находка вызывает у Пелагеи особое расположение, он называет её «ненькой» и напоминает покойную приёмную мать; вскоре Павел и мать приглашают Андрея жить с ними.

На фабрике появляются листовки, в которых рассказывается о забастовках в Петербурге и несправедливости фабричных порядков, призывая рабочих к объединению и борьбе. Мать понимает, что эти листовки связаны с деятельностью её сына, испытывая одновременно гордость и тревогу за его судьбу. Вскоре в дом Власовых приходят жандармы с обыском, но благодаря предупреждению запрещённые книги успевают убрать, и обыск проходит без результатов, хотя Андрей арестован. Затем фабричная дирекция объявляет о вычете копейки с каждого заработанного рубля на осушение болот вокруг фабрики, что вызывает недовольство рабочих. Павел, поддержанный матерью, обращается в газету с просьбой опубликовать жалобу, а сам возглавляет стихийный митинг на фабрике, выдвигая требования отмены нового налога. Однако директор требует возобновить работу, и митинг распадается. Павел расстраивается, считая, что из-за своей молодости не сумел убедить рабочих. Ночью жандармы вновь арестовывают Павла.

После ареста к Пелагее приходит Егор Иванович, один из участников рабочих собраний, который сообщает о задержании почти пятидесяти рабочих и предлагает продолжать распространять листовки. Мать соглашается принять участие в подпольной работе, устраивается помощницей к торговке обедами на фабрике и успешно передаёт листовки рабочим, несмотря на обыски.

Вернувшись из тюрьмы, Андрей и Павел начинают подготовку к празднованию Первомая, на котором Павел намерен нести знамя, хотя понимает, что это может привести к новому аресту. В день демонстрации он вместе с Андреем не выходит на работу, а выступает с речью под красным знаменем, провозглашая идеи социал-демократической рабочей партии о разуме, правде и свободе. Колонна с лозунгом «Да здравствуют рабочие всех стран!» движется по улицам слободы, но встречает сопротивление цепи солдат, в результате чего демонстрация разгоняется, а Павел и Андрей арестованы. Мать, подобрав обломок знамени, возвращается домой с чувством гордости и решимости говорить окружающим о стремлении молодых людей к справедливой жизни.

Позже Пелагея переезжает в город к Николаю Ивановичу, который обещал позаботиться о ней в случае ареста сына и Андрея. В городе она ведёт подпольную деятельность, иногда вместе с сестрой Николая Софьей, переодеваясь в монахиню, богомолку или торговку кружевами, разъезжая по губернии с запрещёнными книгами, газетами и прокламациями. Мать находит удовлетворение в этой работе, внимательно слушает рассказы людей о нищете, в которой они живут среди богатств страны. Она регулярно навещает Павла в тюрьме и однажды передаёт ему записку с предложением организовать побег, однако Павел отказывается, что особенно огорчает Сашеньку, выступавшую за побег.

День суда проходит спокойно: мать ждала напряжённого разбирательства, но судьи и свидетели говорят без эмоций, а речи прокурора и защитников не трогают её. Когда выступает Павел, он не защищается, а объясняет, что они не бунтовщики, а социалисты, борющиеся за отмену частной собственности и передачу власти народу. Мать хорошо знает эти идеи, но впервые слышит их с такой силой убеждения. Суд выносит приговор о сослании всех подсудимых. Сашенька заявляет желание быть сосланной вместе с Павлом, и мать обещает приехать к ним, когда у них появятся дети, чтобы заботиться о внуках.

Возвращаясь домой, Пелагея получает от Николая Ивановича известие о решении напечатать речь Павла. Она берёт на себя задачу доставить её в другой город, но на вокзале сталкивается с молодым человеком, которого узнаёт из суда и тюрьмы. Он вызывает сторожа, который обвиняет мать в воровстве. Пелагея, возмущённая и обиженная, отказывается молчать и показывает прохожим распечатанные прокламации с речью сына. Жандармы приближаются, один из них хватает мать за горло, не давая говорить, и в толпе слышатся рыдания.