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