Действие романа происходит в России в начале 1900-х годов. В рабочей слободке живут фабричные рабочие с семьями, и вся жизнь этих людей неразрывно связана с фабрикой: утром, с фабричным гудком, рабочие устремляются на фабрику, вечером она выкидывает их из своих каменных недр; по праздникам, встречаясь друг с другом, говорят они только о фабрике, много пьют, напившись – дерутся. Однако молодой рабочий Павел Власов, неожиданно для своей матери Пелагеи Ниловны, вдовы слесаря, вдруг начинает жить иной жизнью:
По праздникам ходит в город, приносит книги, много читает. На недоуменный вопрос матери Павел отвечает: “Я хочу знать правду и поэтому читаю запрещенные книги; если у меня их найдут – меня посадят в тюрьму”.
Через некоторое время в доме у Власовых субботними вечерами начинают собираться товарищи Павла: Андрей Находка – “хохол из Канева”, как он представляется матери, недавно приехавший в слободку и поступивший на фабрику; несколько фабричных – слободских парней, которых Ниловна знала и раньше; приходят люди из города: молодая девушка Наташа, учительница, уехавшая из Москвы от богатых родителей; Николай Иванович, который иногда приходит вместо Наташи заниматься с рабочими; худенькая и бледная барышня Сашенька, тоже, как и Наташа, ушедшая из семьи: ее отец – помещик, земский начальник. Павел и Сашенька любят друг друга, однако пожениться они не могут: они оба считают, что женатые революционеры потеряны для дела – нужно зарабатывать на жизнь, на квартиру, растить детей. Собираясь в доме у Власовых, участники кружка читают книги по истории, беседуют о тяжкой доле рабочих всей земли, о солидарности всех трудящихся, часто поют песни. На этих собраниях мать впервые слышит слово “социалисты”.
Матери очень нравится Находка, и он ее тоже полюбил, ласково зовет ее “ненько”, говорит, что она похожа на его покойную приемную мать, родной же матери он не помнит. Через некоторое время Павел с матерью предлагают Андрею переселиться к ним в дом, и хохол с радостью соглашается.
На фабрике появляются листовки, в которых говорится о стачках рабочих в Петербурге, о несправедливости порядков на фабрике; листовки призывают рабочих к объединению и борьбе за свои интересы. Мать понимает, что появление этих листков связано с работой ее сына, она и гордится им, и опасается за его судьбу. Через некоторое время в дом Власовых приходят жандармы с обыском. Матери страшно, однако она старается подавить свой страх. Пришедшие ничего не находят: заранее предупрежденные об обыске, Павел и Андрей унесли из дому запрещенные книги; тем не менее Андрей арестован.
На фабрике появляется объявление о том, что из каждого заработанного рабочими рубля дирекция будет вычитать копейку – на осушение окружающих фабрику болот. Рабочие недовольны таким решением дирекции, несколько пожилых рабочих приходят к Павлу за советом. Павел просит мать сходить в город отнести его записку в газету, с тем чтобы история с “болотной копейкой” попала в ближайший номер, а сам отправляется на фабрику, где, возглавив стихийный митинг, в присутствии директора излагает требования рабочих об отмене нового налога. Однако директор приказывает рабочим возобновить работу, и все расходятся по своим местам. Павел огорчен, он считает, что народ не поверил ему, не пошел за его правдой, потому что он молод и слабосилен – не сумел эту правду сказать. Ночью опять являются жандармы и на этот раз уводят Павла.
Через несколько дней к Ниловне приходит Егор Иванович – один из тех, кто ходил на собрания к Павлу до его ареста. Он рассказывает матери, что, кроме Павла, арестовано еще 48 человек фабричных, и хорошо было бы продолжать доставлять листовки на фабрику. Мать вызывается проносить листовки, для чего просит знакомую, торгующую на фабрике обедами для рабочих, взять ее к себе в помощницы. Всех входящих на фабрику обыскивают, однако мать успешно проносит листовки и передает их рабочим.
Наконец Андрей и Павел выходят из тюрьмы и начинают готовиться к празднованию Первого мая. Павел собирается нести знамя впереди колонны демонстрантов, хотя он и знает, что за это его снова посадят в тюрьму. Утром Первого мая Павел и Андрей не идут на работу, а отправляются на площадь, где уже собрался народ. Павел, стоя под красным знаменем, заявляет, что сегодня они, члены социал-демократической рабочей партии, открыто поднимают знамя разума, правды, свободы. “Да здравствуют рабочие люди всех стран!” – с этим лозунгом Павла возглавляемая им колонна двинулась по улицам слободы. Однако навстречу демонстрации выходит цепь солдат, колонна смята, Павел и Андрей, который шел рядом с ним, арестованы. Машинально подобрав осколок древка с обрывком знамени, вырванного жандармами из рук сына, Ниловна идет домой, и в груди ее теснится желание сказать всем о том, что дети идут за правдой, хотят другой, лучшей жизни, правды для всех.
Через несколько дней мать переезжает в город к Николаю Ивановичу – он обещал Павлу и Андрею, если их арестуют, немедленно забрать ее к себе. В городе Ниловна, ведя немудреное хозяйство одинокого Николая Ивановича, начинает активную подпольную работу:
Одна или вместе с сестрой Николая Софьей, переодевшись то монахиней, то богомолкой-странницей, то торговкой кружевами, разъезжает по городам и деревням губернии, развозя запрещенные книги, газеты, прокламации. Ей нравится эта работа, она любит говорить с людьми, слушать их рассказы о жизни. Она видит, что народ полуголодным живет среди огромных богатств земли. Возвращаясь из поездок в город, мать ходит на свидания с сыном в тюрьму. В одно из таких свиданий ей удается передать ему записку с предложением товарищей устроить ему и его друзьям побег. Однако Павел от побега отказывается; больше всех этим огорчена Сашенька, которая была инициатором побега.
Наконец наступает день суда. В зал допущены только родственники подсудимых. Мать ждала чего-то страшного, ждала спора, выяснения истины, однако все идет спокойно: судьи говорят безучастно, невнятно, неохотно; свидетели – торопливо и бесцветно. Речи прокурора и адвокатов тоже не трогают сердца матери. Но вот начинает говорить Павел. Он не защищается – он объясняет, почему они – не бунтовщики, хотя их и судят как бунтовщиков. Они – социалисты, их лозунги – долой частную собственность, все средства производства – народу, вся власть – народу, труд – обязателен для всех. Они – революционеры и останутся ими до тех пор, пока все их идеи не победят. Все, что говорит сын, матери известно, но только здесь, на суде, она чувствует странную, увлекающую силу его веры. Но вот судья читает приговор: всех подсудимых сослать на поселение. Саша тоже ждет приговора и собирается заявить, что желает быть поселенной в той же местности, что и Павел. Мать обещает ей приехать к ним, когда у них родятся дети, – нянчить внуков.
Когда мать возвращается домой, Николай сообщает ей, что речь Павла на суде решено напечатать. Мать вызывается отвезти речь сына для распространения в другой город. На вокзале она вдруг видит молодого человека, чье лицо и внимательный взгляд кажутся ей странно знакомыми; она вспоминает, что встречала его раньше и в суде, и около тюрьмы, – и она понимает: попалась. Молодой человек подзывает сторожа и, указывая на нее глазами, что-то говорит ему. Сторож приближается к матери и укоризненно произносит: “Воровка! Старая уже, а туда же!” “Я не воровка!” – задохнувшись от обиды и возмущения, кричит мать и, выхватив из чемодана пачки прокламаций, протягивает их окружившим ее людям: “Это речь моего сына, вчера судили политических, он был среди них”. Жандармы расталкивают людей, приближаясь к матери; один из них хватает ее за горло, не давая говорить; она хрипит. В толпе слышатся рыдания.