В кратчайший срок Конев провёл значительную перегруппировку войск. Все передвижения частей и соединений в районы сосредоточения производились ночью с соблюдением мер строжайшей секретности и маскировки. Противник, по-видимому, был настолько уверен в своих силах и слабости Калининского фронта, что его разведка попросту просмотрела концентрацию советских войск на новом участке. Впоследствии пленные подтвердили, что атака Красной армии на калининском участке оказалась для чих полной неожиданностью.
Обещание, данное Верховному, надо было выполнять во что бы то ни стало. Перегруппировка позволила уплотнить боевые порядки в полосах наступления, здесь наши войска превосходили противника по численности пехоты в 1,5 раза, уступая ему в артиллерии и танках. Плотность артиллерии на главном направлении удара 31-й армии тоже была незначительной и составляла 45 стволов на один километр фронта. Артиллерии не хватало, и это беспокоило бывшего артиллериста более всего.
Оборона противника представляла собой довольно мощный рубеж. Вдоль Волги тянулись линии окопов и дзотов. В местах возможных переправ берег был круто срезан, полит водой, на склонах и подъёмах наморожен толстый слой льда. Наступающим батальонам предстояло карабкаться по этим ледяным склонам, простреливаемым фланкирующим огнём. Деревни по всему переднему краю и в глубине обороны противник превратил в опорные пункты. Каменные здания и фундаменты домов были переоборудованы в долговременные огневые точки с круговым обстрелом и автономным обеспечением. Промежутки между опорными пунктами прикрывались минными полями и проволочными заграждениями в два-три кола. Особенно тщательно была продумана и устроена оборона в самом Калинине. Она представляла собой сплошную линию окопов, дзотов и блиндажей.
Первый значительный успех наметился на южном участке фронта: 30-я армия генерала Лелюшенко ударом из района северо-восточнее Клина отбросила войска 3-й и 4-й танковых групп. Противник откатился на линию шоссе Клин—Солнечногорск и начал немедленную эвакуацию войск и тяжёлого вооружения в тыл. 20-я армия Западного фронта одновременно атаковала по своему фронту, левее. Армией командовал генерал Власов [47]. Войска 30-й армии хлынули вперёд и захватили район Клина. Задвигался весь фронт.
Шестнадцатого декабря в 11.00 по московскому времени части 29-й и 31-й армий вошли в Калинин. В составе многих подразделений были бойцы калининских истребительных батальонов, к тому времени зачисленные в полки 5-й и 256-й стрелковых дивизий в качестве рядовых красноармейцев, младших командиров, лейтенантов и политработников. Они дрались за родной город с особым азартом и ожесточением.
После освобождения города из Москвы приехал председатель Президиума Верховного Совета СССР М.И. Калинин. Состоялось собрание жителей города, Михаил Иванович произнёс перед земляками речь. В тот же день, который теперь в Твери отмечают ежегодно как день освобождения города от немецко-фашистских захватчиков, калининцы присвоили генералу Коневу звание «Почётный гражданин города Калинина».
Вечер Конев провёл с М.И. Калининым за чашкой чая. О той памятной встрече он оставил в своих мемуарах ещё одну строку: «Я не встречал более приятного собеседника и мудрого человека…»
В боях за город, в попытке отстоять этот выгодный для себя опорный пункт с хорошо развитой системой обороны, противник израсходовал последние свои резервы. Армии Калининского фронта продвигались вперёд, преследуя отступающего врага.
Однако это не был бег побеждённого противника. Немцы отходили. И только на отдельных участках удавалось окружать их разрозненные подразделения и уничтожать их в коротких ожесточённых схватках.
Из Калинина немцы эвакуировали основную часть тяжёлой техники и вооружения, остальное бросили, взорвали мосты и ушли. Охват не удался. Конев понимал, что в Ставке недовольны действиями его войск. Но он хорошо знал реальность. Для охвата калининской группировки сил у него не было.
Немцы отходили на заранее подготовленные позиции на линии Селижарово—Ржев—Погорелое Городище.