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

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

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

Сергей недолго испытывает трудности без постоянной работы. По совету и при поддержке Нины он поступает на подготовительное отделение горно-металлургического института.

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

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

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

Когда приходит время практики, Сергея освобождают от неё по решению деканата, где присутствуют Уваров и Свиридов. Под давлением партийных органов выявляются компрометирующие Сергея факты, сопровождающиеся предупреждениями о неприкосновенности партии.

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

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

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