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

Главной задачей артиллерийской разведки, разместившейся в щели откоса на открытом пространстве, становится определение точного местоположения вражеской батареи. Лейтенант Мотовилов вместе с двумя рядовыми ведёт круглосуточное наблюдение с использованием стереотрубы и передаёт сведения командиру дивизиона Яценко для корректировки огня тяжёлой артиллерии. Неясно, начнётся ли наступление с этого плацдарма, поскольку оно происходит там, где проще пробить оборону и где танкам предоставлен простор для манёвра. Однако разведданные имеют большое значение, о чём свидетельствуют две попытки немцев форсировать плацдарм за лето.

Ночью Мотовилова сменяют, и он переправляется к Яценко, где узнаёт о своём повышении: с должности взводного он становится командиром батареи. За плечами у лейтенанта третий год военной службы — с начала войны он попал на фронт, затем учился в Ленинградском артиллерийском училище, после окончания которого снова вернулся на фронт, был ранен под Запорожьем и прошёл лечение в госпитале.

Во время короткого отпуска Мотовилову приходится принимать участие в построении для вручения наград подчинённым. Там он знакомится с санитарным инструктором Ритой Тимашовой, что вызывает у него надежду на развитие близких отношений.

С плацдарма доносятся звуки интенсивного боя, создаётся впечатление, что немцы начали наступление. Связь с правым берегом прервана, артиллерия работает вслепую. Мотовилов, предчувствуя опасность, сам высказывает желание наладить связь, несмотря на предложение Яценко отправить другого. В качестве связиста он берёт рядового Мезенцева, к которому питает сильную неприязнь. Мотовилов считает Мезенцева человеком, который избегал фронта, оставаясь в оккупированном Днепропетровске, работал в оркестре, женился и завёл детей во время оккупации, а освобождён был только в Одессе. Он уверен, что такие люди пользуются чужой борьбой и жертвами.

На плацдарме наблюдаются признаки отступления: несколько уцелевших раненых пехотинцев рассказывают о мощном натиске противника. Мезенцев испытывает страх и желание вернуться, пока ещё есть возможность переправиться. Опыт подсказывает Мотовилову, что это временная паника, вызванная перестрелками.

Наблюдательный пункт (НП) оказывается покинутым: сменщик Мотовилова убит, двое солдат дезертировали. Мотовилову удаётся восстановить связь, но у него развивается приступ малярии, распространённой из-за сырости и комаров. Рита неожиданно появляется и оказывает помощь прямо в окопе.

В течение трёх последующих суток на плацдарме наступает тишина. Выясняется, что командир пехотного батальона Бабин, спокойный и упорный человек, имеет давние и крепкие отношения с Ритой. Мотовилову приходится бороться с ревностью, поскольку он ощущает в Бабине то, чего у себя не находит.

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

Перед наступлением танков и пехоты немцы проводят массированную артиллерийскую подготовку. При проверке связи погибает вдовец с тремя детьми, солдат Шумилин, успевший лишь сообщить, что Мезенцев не наладил связь. Обстановка обостряется.

Советская оборона выдерживает первую танковую атаку. Мотовилову удаётся обустроить НП в подбитом немецком танке, откуда он и его напарник ведут огонь по вражеским танкам. Плацдарм охвачен огнём. В сумерках начинается контратака, переходящая в рукопашный бой.

В ходе боя Мотовилов теряет сознание от удара сзади. Придя в себя, он замечает отступающих солдат. Следующую ночь проводит в поле, где немцы добивают раненых, но ординарец находит его, и они возвращаются к своим.

Ситуация становится критической: от двух полков остаётся так мало бойцов, что все располагаются под обрывом на берегу в норах откоса. Переправы нет. Командование последним боем берёт на себя Бабин. Единственным выходом считается прорваться из-под огня, слиться с противником, не давая ему передышки, и захватить высоты.

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

В разгар всеобщего ликования на отвоёванных высотах случайный снаряд убивает Бабина на глазах у Риты. Мотовилов глубоко переживает потерю командира и горе санитарного инструктора.

Дорога вновь ведёт к фронту, где поступает новое боевое задание. По пути Мотовилов встречает полкового трубача Мезенцева, гордо сидящего на коне. Если лейтенанту удастся дожить до победы, у него появится, что рассказать сыну, о котором он уже мечтает.