Начало XX века. Фабричный поселок — темный, нищий, грязный. Вся жизнь обитателей поселка сосредоточена вокруг фабрики: еще до рассвета гудок созывает всех на работу, тяжелую, изнурительную, не приносящую ни радости, ни денег... Вечером у рабочих уже нет ни на что сил — разве что напиться водки да повалиться спать. В праздники уж обязательно пьют, бывает, еще и дерутся. Ниловна — героиня романа — привыкла к такой жизни. Сын ее Павел собирается жить так же, как и отец, — работать и выпивать. Однако, когда отец пытается в очередной раз поколотить мать, Павел решительно противится.
В начале повести Ниловне чуть более сорока лет, но она представлена пожилой женщиной — тяжелый беспросветный быт сломил и состарил ее прежде времени.
После смерти отца Павел некоторое время ведет жизнь обычного фабричного рабочего, но потом резко меняется: по праздникам ходит в город, много читает, приносит домой запрещенные книги.
Он объясняет матери, что хочет знать правду, но за эту правду могут посадить в тюрьму.
По субботам в доме Павла начинают собираться революционеры, его товарищи. Они читают книги, поют революционные песни, рассуждают о судьбе рабочих в России и в других государствах. «Социалисты» — страшное слово, но мать сердцем своим чувствует, что это хорошие, честные и чистые люди.
Вот Наташа — ради убеждений она оставила свою обеспеченную семью, стала работать учительницей.
Вот Николай Иванович — серьезный человек, ему есть о чем рассказать рабочим.
Вот Сашенька — худенькая и бледненькая, она тоже ушла из семьи, так как решила посвятить себя делу рабочих, а отец ее помещик. Ниловна зорким своим сердцем подмечает, что между этой девушкой и ее сыном — настоящая любовь. Но молодые люди решили не создавать семью, так как это помешает делу революции — ведь забота о квартире, о детях отвлечет их от главного и единственного.
Вторым сыном для Ниловны становится Андрей Находка — «хохол из Канева» . Андрей — подкидыш, родной матери не знает. А вот приемную мать ему напоминает Ниловна — такая же добрая. Андрей ласково зовет Ниловну «ненько» и с радостью переселяется жить к Власовым.
На фабрике появляются листовки с обличением существующего строя. Эти листовки призывают рабочих сплотиться в борьбе за справедливость. Мать понимает, что это деятельность ее сына и его товарищей. Вскоре в дом Власовых приходят с обыском. Ничего запрещенного не находят — книги и листовки спрятаны в надежном месте. Но Андрея все-таки арестовали.
Важный эпизод в повести — «болотная копейка». И без того нищих, рабочих обложили новым налогом: с каждого заработанного рубля — одну копейку на осушение болот. Павел пишет заметку в газету и отправляет мать в город — отнести ее. Пусть все узнают про новые поборы! Сам же он возглавляет стихийный митинг на фабрике. Он требует отмены нового налога. Однако по первому же приказанию директора все митингующие расходятся по своим местам. Павел огорчен, потому что ему не доверяют, он, очевидно, еще слишком молод. Ночью жандармы уводят Павла.
К Ниловне приходит один из членов кружка, Егор Иванович. Он говорит, что кроме Павла арестовано еще около пятидесяти рабочих. Если бы листовки продолжали распространять на фабрике, то обвинения против Павла могли признать беспочвенными. Ниловна берется распространять прокламации. Она нанимается в подручные к знакомой торговке обедами — и ее не обыскивают, как всех прочих. Кто же может подумать, что листовки распространяет старуха! В самом начале деятельности Ниловной руководит только материнская любовь и желание спасти сына, но постепенно она понимает, что «дети, кровь наша, идут за правду для всех!».
Андрея и Павла выпускают из тюрьмы, и они тут же начинают готовиться к первомайской демонстрации. На площади собирается народ. Павел с красным знаменем в руках открыто заявляет, что сегодня представители социал-демократической рабочей партии поднимают знамя рабочей правды. Колонна демонстрантов движется по улицам поселка, но навстречу выходит цепь солдат. Колонна смята, Павел и Андрей арестованы. Ниловна подбирает знамя и идет с ним домой, размышляя о правоте дела своих детей — она уже всех революционеров считает своими детьми.
После ареста Павла Ниловна перебирается в город к Николаю Ивановичу (так было заранее оговорено с Павлом и Андреем), она ведет его немудреное хозяйство и постепенно все активнее включается в революционную работу. Вместе с сестрой Николая Ивановича, Софьей, Ниловна, переодевшись то богомолкой, то торговкой, разъезжает по деревням и ведет агитацию уже среди крестьян. Егор Иванович умирает. Его похороны стихийно превращаются в митинг и перерастают в схватку с полицией. Ниловна увозит с этого побоища раненого юношу и ухаживает за ним.
Мать навещает сына в тюрьме и ей удается передать Павлу записку с предложением побега, инициатором которого выступила любящая его Сашенька.
Однако Павел отказывается — для него важно выступить на суде.
На суд допускают только родственников, чтобы выступления подсудимых не были услышаны народом. Заседание идет «по протоколу» : суетливо, быстро — все уже решено заранее. Однако всех встряхнула вдохновенная речь Павла: социалисты — не бунтовщики, они — революционеры, они стоят за народ, за труд, равный и обязательный для всех. Борьбу не остановишь арестами, борьба — до победы!
Судья зачитывает приговор, он однозначен: все подсудимые ссылаются на поселение. Сашенька собирается подавать прошение, чтобы ее в ссылку отправили вместе с Павлом. Мать обещает приехать к ним — нянчить внуков.
Обидно, что речь Павла не была услышана народом. Николай Иванович находит выход: напечатать ее и распространить! Ниловна вызывается отвезти прокламации в другой город. На вокзале она замечает шпика, тот обвиняет ее в воровстве и предлагает пройти в участок. Ниловна открывает чемодан и начинает разбрасывать в толпе листовки: «Это — речь моего сына! Он — политический!»
Жандармы окружают мать, один из них хватает ее за горло... Ниловна хрипит, не в силах продолжать свою речь.
Осталась ли жива эта героическая женщина, воплощение материнской жертвенной любви — не только к сыну, но и ко всем обездоленным людям? В повести мы не находим ответа.