Д
ействие фильма разворачивается в Москве и неизвестном тыловом городе до и во время Великой Отечественной войны.Борис с Вероникой любят друг друга и вот-вот собираются пожениться, они гуляют по Москве и замечают, как над городом пролетает журавлиный клин. Во время прогулки они слушают, как часы на Спасской башне бьют 4 часа утра, после чего возвращаются домой (на рассвете 22 июня 1941 года). Именно этим утром началась Великая Отечественная война. Борис, несмотря на возможность получить бронь, принимает решение уйти добровольцем на фронт. Повестка обязывает его явиться на сборный пункт за день до дня рождения Вероники, которой он оставляет в подарок игрушку — белку с корзинкой, полной золотых орехов, под которые он кладёт записку. Бориса провожают на фронт, но Вероника не успевает проститься с ним.В Москве начинаются бомбёжки. Однажды Вероника, позвонив на завод, где работал Борис, узнаёт, что от него нет никаких вестей. Они с матерью идут к дому и разговаривают. Их разговор прерывает сигнал воздушной тревоги. Они спешат домой за отцом Вероники, но тот отказывается уходить в метро, ссылаясь на то, что у него срочная работа. Вероникина мама решает остаться дома с мужем, а Веронику они одну отправляют в метро, она успевает захватить с собой лишь ту самую белку — подарок Бориса. Когда после отбоя Вероника возвращается, выясняется, что её дом разбомблён, а родители погибли.
Фёдор Иванович Бороздин, отец Бориса, врач по профессии, предлагает ей переехать к ним, где она сталкивается с ухаживаниями Марка, двоюродного брата Бориса. Давно влюблённый в Веронику Марк — талантливый пианист, имеет бронь и на фронт не попадает. Борис также советовал ему не ходить на войну. Марк продолжает добиваться Вероники, и, уступив его настойчивости, она выходит за него замуж. Этот поступок тяжело воспринимает всё семейство Бороздиных, однако, в отличие от сестры Бориса, его отец не отворачивается от неё.
Воинская часть Бориса и его товарища Степана выходит из окружения в тяжёлых условиях. Один из солдат пошло высказывается в адрес Вероники. Борис бьёт его по лицу, и их обоих «в воспитательных целях» отправляют в разведку. Под разрывами снарядов и под пулями Борис, вынося на себе раненого напарника, сражён насмерть точным выстрелом.
Семью Бороздиных эвакуируют за Урал. Вероника работает санитаркой в госпитале, где главврач — Фёдор Иванович. Вероника несчастна, поскольку считает, что выйдя замуж за Марка, предала Бориса (о смерти которого она не знает).
Однажды в госпитале у одного из раненых происходит нервный срыв из-за полученного сообщения о том, что его невеста вышла замуж, пока он воевал. Фёдор Иванович, усмиряя его, говорит, что не он, а она потеряла своё счастье. Весь госпиталь поддерживает, и Вероника, видя, как люди
презрительно относятся к неверным невестам, в смятении выбегает из госпиталя и хочет покончить жизнь самоубийством. Она поднимается на мост, чтобы спрыгнуть под идущий поезд, но в последний момент замечает маленького мальчика на дороге. Вероника спасает его из-под колёс грузовика и выясняет, что мальчик потерялся, и зовут его Борис.
Вернувшись с мальчиком домой, к Бороздиным, она хочет дать ему поиграть игрушку-белку, прощальный подарок Бориса. Но выясняется, что игрушку унёс Марк, якобы подарить какому-то мальчику. Со слов дочери Фёдора Ивановича Вероника узнаёт, что Марк уже давно ходит к некой Антонине Монастырской.
Марк развлекает толпу разодетых спекулянтов и барыг игрой на пианино и романсами. На столе со снедью стоит игрушка, подаренная Марком. Какая-то тётка, говоря, что «всё уже попробовала, а вот золотых орешков не щёлкала», хватает белку и находит под орехами записку, не замеченную Вероникой. В этот момент вбегает Вероника, вырывает записку из рук, даёт Марку пощёчину и уходит.
В то же время Фёдор Иванович узнаёт, что Марк получил бронь вовсе не за заслуги, а по блату. Марк, придя домой, встречается с ним, и отец семейства выгоняет его из дома. Вероника тоже хочет уйти, но Фёдор Иванович убеждает её, что она не виновата, и что её нельзя осуждать за её ошибку.
Вероника стирает бельё. Заходит солдат, которого Борис спас во время разведки. Солдат рассказывает Веронике, что Борис погиб, но она не верит этому, так как солдат всего лишь видел, как Бориса тяжело ранило и его унёс на плащ-палатке товарищ Степан, но при этом не видел самой смерти Бориса — о котором известно лишь, что он пропал без вести.
Конец Великой Отечественной войны. Мирная Москва. Вероника по-прежнему не может забыть Бориса и ждёт — потому что «человек должен надеяться хоть на что-то хорошее». На вокзал прибывает поезд с возвращающимися фронтовиками. Их встречают с букетами цветов и со слезами на глазах. Вероника бежит сквозь толпу и ищет Бориса и Степана, в конце концов она находит Степана, и он передаёт ей фотокарточку, которую Вероника в своё время подарила Борису. Так Вероника окончательно убеждается в том, что Борис погиб. Плача, она бредёт сквозь толпу. Степан с паровоза говорит речь о том, что радость победы огромна, а горе от потерь — безмерно, и что люди теперь сделают всё, чтобы больше никогда не было такой войны.
Вероника идёт сквозь толпу и раздаёт цветы из своего букета фронтовикам. И тут все, включая подоспевшего к этому моменту Фёдора Ивановича, видят, как над Москвой летят журавли.
Финальная сцена встречи победителей перекликается со сценой проводов на сборном пункте. Камера, как и прежде, поднимается над толпой - теперь уже не плачущей, а ликующей - и тем самым закольцовывает действие фильма. Только вначале Вероника за личным горем не замечает общего, словно бы противостоит ему, двигаясь против течения. Теперь же личное горе и общее счастье как бы сомкнулись, возвещая о возрождении ее души.
В этом главный смысл фильма, его пафос.