Тем временем на главном направлении части 5-й гвардейской танковой армии, сметая на своем пути разрозненные неприятельские части и колонны беженцев, обходя опорные пункты, безостановочно продвигались к заливу Фришес-Хафф.
24 января 10-й танковый корпус занял Мюльхаузен. Далее, продвигаясь вдоль побережья, танкисты во взаимодействии с соединениями 48-й армии овладели городом Толькемит и блокировали Эльбинг, отрезав этим пути отхода противнику из Восточной Пруссии на запад.
2-я ударная армия (98,108,116-й стрелковые корпуса, 30-я гвардейская танковая бригада) совместно с танкистами штурмом взяла Дейч-Эйлау, с боем преодолела оборонительный рубеж на подступах к Мариенбургу, 25 января вышла к рекам Висла и Ногат и с ходу форсировала эти водные преграды. На следующий день полки 372-й стрелковой дивизии и бригады 8-го механизированного корпуса ворвались на восточную окраину Мариенбурга. Передовые отряды 5-й танковой армии достигли предместий Эльбинга. Взять город «на ура» не удалось, ворвавшийся в Эльбинг отряд 31-й бригады 29-го танкового корпуса был немцами отрезан и полностью уничтожен. В танковой армии к этому времени осталось 169 исправных боевых машин, в 29-м танковом корпусе — 72.
Армии правого крыла 2-го Белорусского фронта, преследуя ускользнувшего противника, продвинулись до 100 километров и в основном преодолели систему Мазурских озер. Армии левого крыла вышли к Висле на участке Мариенбург, Торунь: 65-я армия (46,105,18-й стрелковые корпуса) вышла к Висле у Груденца и приступила к форсированию реки, 70-я армия (47, 96, 114-й стрелковые корпуса) обошла крепость Торунь и также достигла Вислы.
26 января группа «Центр» была переименована в группу армий «Север», а группа «Север» — в группу армий «Курляндия». Со своих постов слетели генералы Рейнгардт и Госсбах. Командование группой «Север» принял генерал-полковник Лотар Рендулич, «умный и начитанный, находчивый в обращении с Гитлером», получивший от фюрера жесткий приказ до последнего оборонять Кёнигсберг и то, что осталось от Восточной Пруссии. Во главе 4-й армии встал генерал от инфантерии Вильгельм Мюллер.
Немецкое сопротивление резко возросло. В последующие дни развернулись ожесточенные бои по обе стороны клина, вбитого советскими армиями. Войска 2-й ударной стремились расширить коридор в западном направлении и отбросить противника за Вислу и ее правый приток — реку Ногат. Части 5-й гвардейской танковой и 48-й армий отжимали восточную часть клина в глубину Восточной Пруссии. Группы армий «Висла» и «Север», соответственно, стремились локализовать прорыв и восстановить связь между собой. Обстановка осложнилась. Советские войска понесли потери и нуждались в отдыхе, тылы отстали. Большая часть аэродромов воздушной армии Вершинина оказалась на значительном удалении от войск, наступившая распутица затрудняла их использование.
В ночь на 27 января войска 4-й немецкой армии силами четырех пехотных и одной танковой дивизий перешли в наступление в направлении на Либштадт и Эльбинг. Им удалось потеснить войска 48-й армии на 20 километров к западу и окружить 17-ю стрелковую дивизию полковника А. Ф. Гребнева юго-западнее Вордмитта. Двое суток продолжались непрерывные бои. Немцы овладели Либштадтом и продолжали настойчивые атаки западнее этого города. «Надо отдать должное Мюллеру, — признает Горбатов, — он действовал довольно умело».
Рокоссовский усилил армию генерала Гусева 8-м гвардейским танковым корпусом и пятью противотанковыми артиллерийскими бригадами. Фронтом на восток были развернуты 5-я гвардейская танковая армия и 8-й механизированный корпус, часть сил 2-й ударной армии. 3-й гвардейский кавалерийский корпус изготовился основными силами нанести фланговый удар. Из фронтового резерва в состав 48-й армии был передан стрелковый корпус 49-й армии. Быстрой перегруппировкой сил и средств на угрожаемое направление Рокоссовскому удалось сначала остановить противника, а затем нанести ему ощутимый удар. 30 января немцы предприняли последнюю попытку прорыва, но успеха не имели. Войска, выделенные для отражения контрудара, создали плотный фронт, а затем, возобновив наступление, деблокировали сражавшуюся в окружении 17-ю стрелковую дивизию и отбросили соединения врага в исходное положение.
В период борьбы с контрударной группировкой противника 50, 49 и 3-я армии продолжали наступление совместно с войсками 3-го Белорусского фронта, сжимая хейльсбергскую группировку. Ее положение еще больше ухудшилось 31 января, когда соединения 31-й армии генерал-лейтенанта П. Г. Шафранова штурмом овладели сильнейшим опорным пунктом — городом Хейльсберг. Сужение полос наступлений армий по мере их продвижения позволило Рокоссовскому вывести в свой резерв сначала две дивизии 50-й армии, а с 31 января — всю 49-ю армию.
К концу месяца 2-я ударная, 65-я и 70-я армии на широком участке вышли в рекам Ногат и Висла, от залива Фришес-Хафф до Быдгоща.
Армия Федюнинского частью перешла к обороне на более чем 100-километром фронте, сосредоточившись главными силами на овладении тремя пунктами, чье ключевое положение по достоинству оценили еще рыцари Тевтонского ордена, — Эльбингом, Мариенбургом и Мариенвердером.
Официальной датой «освобождения» Мариенбурга считается 26 января, однако еще десять суток держался возвышавшийся над городом старинный замок — резиденция великих магистров; мощные стены твердыни крестоносцев 203-мм пушки не могли пробить даже с дистанции 150 метров. Мариенвердер немцы оставили по приказу Гиммлера 30 января. Но главной целью 2-й ударной армии был Эльбинг — крупный промышленный центр и узел коммуникаций, последний сильный очаг сопротивления на пути к Данцигской бухте. Атаку с ходу, без разведки и артиллерийской поддержки, немецкий гарнизон, состоявший из остатков большого числа разбитых частей общей численностью 10 тысяч юнкеров, солдат и офицеров и до 4 тысяч фольксшурмовцев, отбил. Блокировав город частями 98-го и 116-го стрелковых корпусов, генерал Федюнинский приступил к подготовке массированного штурма с использованием самых крупных калибров. Для решения задачи были выделены 3 стрелковые дивизии, 3 самоходно-артиллерийских полка и 3 артиллерийские дивизии. Количество личного состава в стрелковых дивизиях к тому времени сократилось с 7500 до 5–6 тысяч человек. Поэтому вся надежда была на «бога войны» под управлением генерала К. П. Казакова:
«Как и во всех городах Восточной Пруссии, противник широко использовал для обороны Эльбинга каменные здания и подвалы, окна которых были усилены бетоном и превращены в узкие амбразуры. Основные улицы забаррикадированы и минированы. Огонь орудий, минометов, пулеметов спланирован так, чтобы он взаимно перекрывал все подступы к опорным пунктам на перекрестках улиц.
Подобная оборона, когда на относительно небольшой площади находится множество превращенных в огневые точки массивных каменных домов, имеет, конечно, и слабые места. Если обычные укрепленные районы с их железобетонными дотами и дзотами можно оборонять небольшими силами, то в городе обороняющаяся сторона должна располагать многочисленной пехотой. Иначе все эти огневые точки — особенно большие дома — становятся уязвимыми. Кроме того, обороняющиеся очень стеснены пространством. Сектор обстрела, как правило, ограничен соседними зданиями. Как только наступающая сторона вторгается в город, она начинает использовать скопление домов, переулки, проходные дворы и подземные коллекторы для своих целей, для обходов врага с тыла. Ведущую роль в уличном бою играет артиллерия, поставленная на прямую наводку. Если она многочисленна, если боевые порядки штурмующей город пехоты насыщены орудиями и минометами, успех штурма в значительной мере предопределен.
У нас такая артиллерия была. Создали штурмовые группы. Они обычно состояли из взвода стрелков — 12–15 человек, им придавались, то есть переходили в подчинение командира штурмовой группы, 4–8 орудий для работы на прямой наводке, а также 2–4 самоходно-артиллерийские установки. Кроме того, штурмовую группу или несколько групп поддерживали, выполняя их заявки, тяжелые орудия — до 203-мм гаубиц включительно. Всего на прямую наводку у нас было выставлено более 200 орудий разных калибров. А вся артиллерийская группировка, штурмовавшая Эльбинг, насчитывала 1084 артиллерийских и минометных ствола».
Штурм начался 3 февраля. Кроме артиллерии и самоходных установок, советскими войсками в боях за Эльбинг широко применялись дымовые шашки и бутылки с зажигательной смесью.
Армия генерала Батова (18, 46, 105-й стрелковые корпуса) форсировала Вислу, захватив плацдарм в районе города Свеце. В то же время немцы, опираясь на Грауденц, сохранили плацдарм на восточном берегу.