Марина, молодая учительница из провинциального городка, случайно находит старую коробку с письмами и красной лентой. В них — история её бабушки Анны, которая в 1940-х годах работала на заводе и влюбилась в солдата Ивана. Письма полны бытовых деталей: «Сегодня опять картошка, но я сварила суп с крапивой», «Иван обещал привезти шоколад». Марина решает найти следы Ивана. В архивах она узнаёт, что он погиб под Сталинградом. Ленту она повязывает на могилу бабушки.
В небольшом сибирском поселке подросток Ваня находит в лесу раненого амурского тигра. Он прячет его в заброшенном сарае, кормит мясом, украденным из дома. Мать Вани, Людмила, замечает пропажу продуктов и ругается: "Опять твои выходки!". Ваня рассказывает о тигре другу Сереге, но тот не верит. Тем временем браконьеры во главе с Геннадием ищут зверя. Ваня пытается спасти тигра, но попадает в засаду. Людмила, узнав правду, помогает сыну. Вместе они отпускают тигра в тайгу под прицелом
Варя, дочь купца, сбегает из дома, чтобы не выходить за надменного боярина Полкана. В лесу она встречает Ивана — простого парня, который мастерит летучий корабль из старых досок и ржавых гвоздей. «Ты что, с ума сошла? На этом только в реку рухнуть!» — смеётся он. Но корабль взлетает. Они путешествуют по сёлам, спасают старика-водяного от браконьеров, договариваются с бабой Ягой об аренде её избушки. Полкан гонится за ними на механическом коне, но проваливается в болото.