Детство героя проходило в маленьком городе Княжье-Вено Юго-Западного края. Вася — так звали мальчика — был сыном городского судьи. Ребёнок рос, «как дикое деревцо в поле»: мать умерла, когда сыну было всего шесть лет, а отец, поглощённый своим горем, обращал на мальчика мало внимания. Вася целыми днями бродил по городу, и картины городской жизни оставляли в его душе глубокий след.
Город был окружён прудами. Посреди одного из них на острове стоял старинный замок, принадлежавший некогда графскому роду. Ходили легенды, что остров насыпан пленными турками, и замок стоит «на костях человеческих». Хозяева давным-давно покинули это мрачное жилище, и оно постепенно разрушалось. Его обитателями стали городские нищие, не имевшие иного пристанища. Но среди нищих произошёл раскол. Старый Януш, один из бывших графских слуг, получил некое право решать, кто может жить в замке, а кто нет. Он оставил там лишь «аристократов»: католиков и бывшую графскую челядь. Изгнанники нашли себе пристанище в подземелье под старинным склепом у заброшенной униатской часовни, стоявшей на горе. Однако это их местопребывание никому не было известно.
Однажды Вася с тремя приятелями приходит к старой часовне: ему хочется заглянуть туда. Друзья помогают Васе проникнуть внутрь через высокое окно. Но увидев, что в часовне ещё кто-то есть, приятели в ужасе убегают, бросив Васю на произвол судьбы. Оказывается, там дети Тыбурция: девятилетний Валек и четырёхлетняя Маруся. Вася начинает часто приходить на гору к своим новым друзьям, носить им яблоки из своего сада. Но ходит он лишь тогда, когда его не может застать Тыбурций. Вася никому не рассказывает об этом знакомстве. Струсившим приятелям он говорит, что видел чертей.
У Васи есть сестра, четырёхлетняя Соня. Она, как и ее брат, — весёлый и резвый ребёнок. Брат и сестра очень любят друг друга, но Сонина нянька препятствует их шумным играм: она считает Васю дурным, испорченным мальчишкой. Такого же взгляда придерживается и отец. Он не находит в своей душе места для любви к мальчику. Отец больше любит Соню, потому что она похожа на свою покойную мать.
Как-то раз в разговоре Валек и Маруся говорят Васе, что Тыбурций их очень любит. Вася отзывается о своём отце с обидой. Но неожиданно узнает от Валека, что судья — очень справедливый и честный человек. Валек — мальчик очень серьёзный и смышлёный. Маруся же совсем не похожа на резвую Соню, она слабенькая, задумчивая, «невесёлая». Валек говорит, что «серый камень высосал из неё жизнь».
Вася узнает о том, что Валек ворует еду для голодной сестры. Это открытие производит тяжёлое впечатление на Васю, но все же он не осуждает друга.
Валек показывает Васе подземелье, где живут все члены «дурного общества». В отсутствие взрослых Вася приходит туда, играет со своими друзьями. Во время игры в жмурки неожиданно является Тыбурций. Дети испуганы — ведь они дружат без ведома грозного главы «дурного общества». Но Тыбурций разрешает Васе приходить, взяв с него обещание никому не рассказывать, где все они живут. Тыбурций приносит еду, готовит обед — по его словам Вася понимает, что еда краденая. Это, конечно, смущает мальчика, но он видит, что Маруся так рада еде... Теперь Вася беспрепятственно приходит на гору, и взрослые члены «дурного общества» тоже привыкают к мальчику, любят его.
К судье несколько раз приходит старый Януш с доносами на членов «дурного общества». Он рассказывает, что Вася общается с ними. Нянька замечает отсутствие куклы. Васю не выпускают из дому, и через несколько дней он убегает тайком.
Марусе становится все хуже. Обитатели подземелья решают, что куклу нужно вернуть, а девочка этого и не заметит. Но увидев, что куклу хотят забрать, Маруся горько плачет... Вася оставляет ей куклу.
И снова Васю не выпускают из дому. Отец пытается добиться от сына признания, куда он ходил и куда делась кукла. Вася признается, что куклу взял он, но более не говорит ничего. Отец в гневе... И вот в самый критический момент появляется Тыбурций. Он несёт куклу.
Тыбурций рассказывает судье о дружбе Васи с его детьми. Тот поражён. Отец чувствует себя виноватым перед Васей. Словно рухнула стена, долгое время разделявшая отца и сына, и они почувствовали себя близкими людьми. Тыбурций говорит, что Маруся умерла. Отец отпускает Васю проститься с ней, при этом он передаёт через Васю деньги для Тыбурция и предостережение: главе «дурного общества» лучше скрыться из города.
Вскоре почти все «тёмные личности» куда-то исчезают. Остаются лишь старый «профессор» и Туркевич, которому судья иногда даёт работу. Маруся похоронена на старом кладбище возле обвалившейся часовни. Вася с сестрой ухаживают за ее могилкой. Иногда они приходят на кладбище вместе с отцом. Когда же Васе и Соне приходит время оставить родной город, над этой могилкой произносят они свои обеты.