Зав’язка. У містечку Княже-Віно шестирічний Вася почувається зайвим у власному домі. Батько ігнорує сина, віддаючи всю любов дочці Соні, бо та схожа на покійну матір. Шукаючи пригод, Вася пробирається до занедбаної каплиці на острові, де стикається з Валеком та Марусею. Ця зустріч руйнує його самотність, але водночас ставить перед першим у житті серйозним вибором: чи можна дружити з тими, кого все місто вважає злодіями.
Розвиток дії. Вася стає частим гостем у підземеллі, де мешкає «погане товариство» — люди, яких вигнав із замку колишній управитель Януш. Хлопчик бачить жахливі злидні своїх нових друзів. Коли він дізнається, що Валек краде булку, він переживає внутрішній конфлікт, але жаль до голодної Марусі виявляється сильнішим за повчання дорослих. Тибурцій дозволяє Васі приходити, бачачи в ньому чисту душу. Хлопчик починає потайки носити друзям їжу та іграшки, намагаючись компенсувати їм відсутність тепла і світла.
Кульмінація. Настає холодна осінь, і стан Марусі стає безнадійним. Щоб подарувати вмираючій дівчинці останню радість, Вася випрошує у Соні її улюблену порцелянову ляльку — подарунок покійної матері. Іграшка справді творить диво: Маруся вперше посміхається. Проте зникнення речі викривають. Батько-суддя, підбурюваний доносом Януша, влаштовує синові допит. Вася мужньо мовчить, готовий прийняти будь-яке покарання, аби не зрадити таємницю друзів та останній промінь щастя Марусі.
Розв’язка. Конфлікт розв'язує Тибурцій, який приносить ляльку в дім судді. Він розповідає правду про вчинок Васі, чим змушує батька прозріти. Суддя усвідомлює, що його син — людина великої честі та милосердя. Маруся помирає, і Вася з батьком разом оплакують її. Жебраки залишають містечко, але могила Марусі стає для Васі та Соні священним місцем, де вони кожного року дають обітницю бути вірними ідеалам добра та співчуття.