Немцы хорошо подготовились к зимней кампании. Не в пример прошлой зиме, весь личный состав был снабжен теплым обмундированием. Оборона непрерывно совершенствовалась в инженерном отношении. На всех направлениях вероятных ударов советских войск были выставлены минные поля, созданы мощные опорные пункты, система дзотов. В полосе Западного фронта, по признанию Гетмана: «Наиболее укрепленной оказалась полоса предстоявшего наступления нашей подвижной группы, тянувшаяся от Кортнево до населенного пункта Хлепень».
У основания выступа располагались резервы группы армий «Центр» — 12-я, 19-я и 20-я танковые дивизии. В критической ситуации они могли быть достаточно быстро переброшены на угрожаемое направление.
Одновременно на своем правом крыле Калининский фронт готовился проводить еще одну операцию — наступление 3-й ударной армии генерал-майора К.Н. Галицкого на Великие Луки и Невель с целью перерезать в районе Новосокольники железную дорогу Ленинград–Витебск. В перспективе советское командование рассчитывало, ликвидировав великолукский плацдарм противника, открыть путь в Прибалтику. В 3-ю ударную армию входили 5-й гвардейский стрелковый корпус генерал-майора А.П. Белобородова, пять стрелковых дивизий, пять отдельных танковых, семь артиллерийских полков и девять полков гвардейских минометов. В резерве командарма находились 2-й механизированный корпус, 184-я танковая и 31-я стрелковая бригада.
Общий замысел сводился к следующему. Главный удар южнее Великих Лук в обход города с северо-запада наносил 5-й стрелковый корпус — 9-я и 46-я гвардейские, 357-я стрелковая дивизии. Навстречу Белобородову из района севернее Великих Лук наступала 381-я стрелковая дивизия полковника Б.С. Маслова. С фронта город охватывала 257-я стрелковая дивизия полковника A.A. Дьяконова. В полосе прорыва главных сил 5-го стрелкового корпуса вводился 2-й механизированный корпус под командованием генерала И.П. Корчагина — три механизированные и две танковые бригады — с задачей овладеть железнодорожным узлом Новосокольниково. Южнее гвардейцев Белобородова наносили вспомогательные удары 21-я гвардейская и 28-я стрелковая дивизии 3-й ударной армии и правофланговая 360-я дивизия 4-й ударной армии. Обеспечение правого фланга ударной группировки возлагалось на 31 -ю стрелковую бригаду, левый фланг прикрывала 184-я танковая бригада.
Жуков план утвердил лично. Это по его «совету» все силы 3-й ударной армии были выстроены фактически в один эшелон. Генерал Галицкий хотел оставить в резерве 21-ю гвардейскую дивизию позади своего левого фланга, но представитель Ставки приказал выдвинуть дивизию в первый эшелон и тем самым «расширить участок прорыва и увеличить начальную силу удара». Великий полководец Жуков никогда не понимал, зачем нужны оперативные резервы, у него никто не оставался «без дела». Наступать должны были все — 95 608 человек, 743 орудия, 1346 минометов, 46 установок РС, 390 танков. Более 500 орудий должно было сопровождать пехоту в боевых порядках.
Противник в полосе предстоящего наступления, не имея достаточно войск, сосредоточил свои усилия на защите наиболее важных участков. Район Великих Лук обороняли части 83-й пехотной дивизии генерала Шерера и один охранный батальон. Город был превращен в мощный, подготовленный к круговой обороне узел сопротивления, насыщенный огневыми средствами. Многие здания были превращены в долговременные огневые точки, взаимодействующие друг с другом и перекрывавшие огнем улицы и перекрестки. Передний край обороны проходил в 5 км от городских окраин. Южнее, в районе Мартьяново, участок прикрывался двумя отдельными батальонами. Между этими двумя «группировками» и севернее Великих Лук имелись лишь небольшие гарнизоны в отдельных населенных пунктах.
В районе Новосокольников располагались резервы: 3-я горнострелковая дивизия и 55-й полк шестиствольных минометов. Северо-восточнее Невеля сосредоточивалась 20-я мотодивизия. Кроме того, в район Опухлики против южного фланга генерала Галицкого подтягивалась 291-я пехотная дивизия, а в район Насва, к северо-востоку от Великих Лук, с холмского направления перебрасывалась 8-я танковая дивизия. Прибывший в Новосокольники из Витебска штаб 59-го армейского корпуса должен был объединить все эти соединения.
Операции войск Западного и Калининского фронтов начались 25 ноября сразу по трем направлениям. Две армии Западного фронта атаковали восточный фас Ржевского выступа севернее Зубцова, на 40-километровом участке вдоль рек Вазуза и Осуга. Одновременно 22-я и 41-я армии Калининского фронта нанесли встречный удар с западного фаса выступа. А 3-я ударная армия начала наступление против северного крыла группы армий «Центр», пытаясь с двух сторон охватить Великие Луки.
В ночь перед наступлением погода в полосе 20-й и 31-й армий резко изменилась, повалил снегопад, затем началась пурга. Артиллеристы не видели целей и вели огонь по площадям, что резко снизило эффективность артподготовки, и хотя она длилась полтора часа, результаты ее были незначительны. Это сразу стало ясно, как только в 9.20 в атаку пошла пехота. Неподавленные огневые точки противника оказали сильное противодействие. 31-й армии генерал-майора B.C. Поленова прорвать оборону не удалось. Ее 88-я, 336-я и 239-я стрелковые дивизии, поддержанные 332-й и 145-й танковыми бригадами, ценой больших потерь добились лишь незначительных успехов. Южнее 20-я армия достигла несколько большего — 247-я стрелковая дивизия, при поддержке 80-й и 140-й танковых бригад, форсировала Вазузу и захватила плацдарм на ее западном берегу. Командарм сразу же бросил в бой свой резерв — 331-ю стрелковую дивизию полковника П.Е. Берестова. Под сильным огнем противника части 20-й армии медленно пробивались вперед, расширяя плацдарм. Однако и здесь не удалось добиться прорыва.
Тогда Жуков и Конев решили бросить вперед резервы и подвижную группу, не дожидаясь, пока стрелковые части прогрызут главную полосу. Жуков не был бы Жуковым, если бы не был готов ради достижения поставленной цели израсходовать последнего имеющегося под рукой солдата.
На рассвете 26 ноября части второго эшелона — 8-й гвардейский стрелковый, 6-й танковый и 2-й гвардейский кавалерийский корпуса начали выдвижение на плацдарм. Однако быстрого массированного удара не получилось. Две сотни танков, 30 тысяч солдат и 10 тысяч кавалеристов длинными колоннами растянулись по двум узким, затерянным в снегах дорогам, ведущим, через реку на западный берег. В результате подвижные части понесли потери от огня немецкой артиллерии, еще не вступив в бой. Лишь к середине дня 6-й танковый корпус (170 танков), которым ввиду болезни генерала Гетмана командовал полковник П.М. Арман, переправился на плацдарм. Три дивизии кавкорпуса вынуждены были задержаться на восточном берегу реки до следующего дня.
Танкисты сразу же рванулись вперед. 6-я мотострелковая бригада овладела деревней Холм–Березуйский и повернула на юг. 22-я танковая к вечеру выбила немецкие гарнизоны из укрепленных пунктов в Большом и Малом Кропотово, а ее 2-й танковый батальон прорвался через железную дорогу Ржев–Сычевка к деревне Ложки. 200-я и 100-я танковые бригады заняли Гриневку и Подосиновку. Этот успех дался нелегко: бригады потеряли до половины личного состава и танков, много было раненых, требующих эвакуации, необходимо было пополниться горючим и боеприпасами. Корпус перешел к обороне.
В это время немцы перебрасывали к участку прорыва части 27-го армейского корпуса из района Ржева и 9-ю танковую дивизию со стороны Сычевки.
Наступление подвижной группы возобновилось 28 ноября, с подходом отставших соединений. Вместе с 6-м танковым корпусом действовала 1-я самокатно-мотоциклетная бригада. С рубежа 100-й танковой бригады северо-западнее Подосиновки наносил удар также кавалерийский корпус Крюкова. К исходу дня советские войска продвинулись вперед еще на 20 км. Были разгромлены штабы трех частей из состава 9-й армии, уничтожено два артиллерийских полка противника, захвачены тыловые склады. К исходу дня 22-я и 200-я танковые бригады совместно с частью сил 6-й мотострелковой бригады перерезали железную дорогу Ржев–Сычевка и достигли рубежа Соустово, Азарово, Никишино, где были остановлены подоспевшими немецкими резервами.
Однако сосредоточенные на плацдарме советские стрелковые части так и не вошли в прорыв. Кроме того, на плацдарм не удалось перебросить достаточное количество артиллерии, а 9.-я танковая дивизия немцев начала контратаки в северном направлении вдоль ржевского шоссе, угрожая отрезать прорвавшиеся части.
Жуков считал, что все еще идет нормально. В ночь на 29 ноября он отдал приказ стрелковым дивизиям на плацдарме расширять прорыв, танковым и кавалерийским частям продолжать наступление на запад. Соединившись с войсками Калининского фронта, они должны были довершить окружение и разгром противника.