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

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

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

Наутро Алексей и капитан наблюдают в небе воздушный бой между советскими истребителями и немецкими «мессершмиттами», в котором советские самолёты теряют все «ястребки». Капитан Рюмин совершает самоубийство, и Алексей с оставшимися курсантами роет ему могилу. В этот момент появляются два немецких танка, один из которых направляется к Алексею. Он бросает в танк бутылку с бензином и падает в могилу, после чего оказывается, что ему удалось подбить машину. Остальные курсанты, укрывшиеся в скирдах, погибают, а Алексей выбирается наружу и направляется на восток.