В полуразрушенных сараях, куда немцы свозили сено и солому, атаман Криволоб расстрелял четырёх москалей и одного украинца, поэтому мальчишки опасаются здесь играть. Исключением является Димка, который прячет в сарае два магазина патронов, шомпол от винтовки и заржавевший австрийский штык без ножен, и играет в различные роли командиров. В образе белого приговаривает: «Коммунию захотели? Свободы захотели? Против законной власти…», а в образе красного спрашивает: «Против кого идёте? Против своего брата рабочего и крестьянина? Генералы вам нужны да адмиралы…»

Забыв вовремя вернуться домой, Димка бежит, боясь наказания, но дома происходит ЧП: приезжает Головень, недавно призванный красными в армию. Он ударяет сапогом Шмеля, любимого пса Димки, а затем и самого мальчика, обещая выгнать «питерских пролетариев» — так он называет семью: мать, бабку, Димку и младшего брата Топа. Отец Димки находится в Питере. Головень прячется от красных на сеновале, имея при себе винтовку.

Димка забирается на сеновал, чтобы осмотреться, открывает затвор винтовки и, не понимая, как, заправляет патрон в ствол. В этот момент появляется Головень, винтовка выстреливает, Димка убегает, но получает толчок в спину от Головня. Его спасает от избиения отряд красных кавалеристов. После этого Димка опасается возвращаться домой.

По дороге он встречает Жигана из города, который поёт песню «Да здравствуют Советы!» и путешествует, исполняя песни на поездах. Он приехал к крестной бабе Онуфрихе, чтобы отдохнуть, и получил разрешение остаться не более двух недель.

Димка назначает с Жиганом встречу у речки на утро, чтобы ловить раков. Мать ругает Димку, но без злобы. На следующий день Димка предлагает Жигану убежать, так как Головень бьёт и выгоняет с родных с дома. Жиган предлагает стать бродягой, а затем лжёт, что служил и красным, и зелёным, и «коричневым» (такого отряда не существовало). Димка предлагает пойти воевать на стороне красных. Они начинают собираться.

Недалеко протекает крупный фронт, где красноармейцы преследуют банды, или банды — красноармейцев, а атаманы ведут между собой борьбу. Прибывают зеленые, которые вместе с Головнем пьют и роют яму за домом Жигана. После боя возле деревни Димка не находит спрятанное в соломе мясо для похода. Провизию перемещают, назначая побег на следующий день. Появляются слухи о раненом большевике в окрестностях. Ребята украли из подвала Димки котелок и решили спрятать его в сарае, среди соломы, но услышали стоны и, испугавшись, разбежались. Наутро Димка обнаруживает в сарае раненого красноармейца, того самого, кто заступился за него перед Головнем. Приходит Жиган, раненому дают еду и воду, обещая никому не рассказывать о нём. Димка берёт дома кусок сала и меняет его у попа Перламутрия на пузырёк йода.

Со временем о красных не слышно, у Димки возникают трудности: Головень бьёт и выгоняет мать и Топа из дома, поп рассказывает матери о йоде, и красный обещает помочь. Между тем Головень узнаёт о раненом, который находится поблизости, находит окровавленную книжку с буквами Р. В. С. на первом листе. Он застреливает Шмеля и собирается уезжать. Ребята предупреждают раненого об опасности, Жиган сообщает, что в городе красные, и берётся доставить записку с загадочными буквами. По пути он попадает в руки зеленых под предводительством Левки, но сбегает, затем встречает Козолупа, который направляет их на отряд Левки. Вскоре дорога раздваивается.

Жиган спрашивает у жителей хутора, как попасть в город, и ему указывают дорогу из окна. Он доставляет записку красным, которые тут же выезжают на конях. Тем временем в деревню прибывают зеленые, но решают отложить поиски до утра из-за темноты. Утром красные приходят и прогоняют врагов. Для Димки с семьёй оформляют пропуска до Питера, а Жигану выдают документ, подтверждающий его «революционность» и предоставляющий содействие в исполнении советских песен на всех станциях, поездах и эшелонах, с гербовой печатью.