Действие происходит в Баии в 1930-е годы. Роман повествует о банде беспризорников, которых прозвали «капитаны песка», потому что их штаб-квартирой стали песчаные пляжи гавани:
Что было у них? — Только безграничная свобода, только улицы и пляжи этого города, где они вели не всегда легкую жизнь, добывая еду и одежду всеми возможными способами: подносили чемоданы, воровали бумажники и шляпы. Иногда грабили, иногда просили милостыню.
Всего банда насчитывала более ста человек в возрасте от 8 до 16 лет. Главные герои романа — мальчишки Педро Пуля (15-летний вожак банды), Жоан Длинный, Профессор, Хромой, Сачок, Кот, Сухостой, Фитиль, Бузотёр и их друзья-взрослые священник Жозе Педро, портовый рабочий-забастовщик Жоан де Адам, капоэйрист Божий Любимчик, жрица культа кандомбле дон’Анинья.
В первой части «Под луной, в старом заброшенном складе» рассказывается о том, что привело главных героев в ряды «капитанов песка» и о разных эпизодах из жизни банды: о дерзких ограблениях и помощи друзьям в борьбе с полицейскими.
Во второй части «Ночь великого покоя твоих глаз» в банду попадает 13-летняя Дора и её младший брат, у которых умерли родители. Дора становится сестрой и матерью для «капитанов песка», а для Педро Пули ещё и невестой. Однако во время одного из ограблений её и Педро Пулю хватает полиция. Педро удается бежать из исправительной колонии, «капитаны» выкрадывают Дору из сиротского приюта, однако там Дора заболевает лихорадкой и вскоре умирает в убежище «капитанов песка».
В третьей части «Песни Баии, песни свободы» рассказывается о судьбе членов банды на протяжении нескольких лет после смерти Доры. Профессор становится художником, картины которого о жизни бедняков потрясли всю страну. Фитиль становится монахом, о чём он мечтал после встречи с падре Жозе Педро. Хромой погибает во время одного из нападений, Сачок становится городским бродягой, Кот — крупным спекулянтом, Сухостой вступает в банду «благородного разбойника» Лампиана и сражается с полицией, Жоан Длинный уходит в плавание на корабле. Но ни одна из этих дорог не подходит Педро Пуле — его «зовёт Революция», он хочет изменить судьбу всех бедняков и вступает в коммунистическую партию, а из «капитанов песка» создает штурмовую бригаду, которая помогает рабочим во время стачек и забастовок.