Южный клин этого фронта должен был наступать в направлении городов Плоньск и Бельск (и далее на Торунь, Быдгощ и Хелмно и выйти к морю у Гданьска). Его задачей было прорваться с плацдарма на реки Нарев и Буг у Сероцка, затем через приток Вислы реку Вкра в районе города Модлин и затем быстро достичь поставленных целей.
3-й Белорусский фронт перешел в наступление 13 января 1945 года. А 14 января начал свое наступление и 2-й Белорусский фронт.
После мощной артиллерийской подготовки мобильные дивизии Красной армии устремились в атаку из района города Пилькаллен (в описываемое время, с 1938 по 1947 г., назывался Шлоссберг, ныне Добровольск) и прорвали немецкую переднюю линию обороны, а уже к вечеру того же дня глубина прорыва составила от 2 до 7 километров. Но между городами Пилькаллен и Гумбиннен (ныне Гусев) немецкая передняя линия обороны была лишь серьезно повреждена, но не прорвана.
На второй день в ходе немецких контратак соединения Красной армии были остановлены и во многих местах потеснены. Эти ожесточенные бои продолжались в течение пяти дней, прежде чем войскам 3-го Белорусского фронта удалось прорвать глубоко эшелонированные оборонительные рубежи и осуществить вклинение на участке фронта шириной около 60 километров, глубина которого в центре прорыва достигала 45 километров.
Гумбиннен пал только 21 января 1945 года. На следующий день части Красной армии взяли Инстербург (ныне Черняховск), после того как северная ударная группа фронта сломила 19 января сопротивление окруженного гарнизона Тильзита (ныне Советск). Тем самым в руки Красной армии перешли важные транспортные узлы, и путь на Кёнигсберг (ныне Калининград) был открыт.
2-й Белорусский фронт начал свое наступление на главном направлении с двух плацдармов у городов Ружан (на реке Нарев) и Сероцк (на реках Нарев и Буг). Рано утром 14 января здесь, как и на всех остальных фронтах, наступлению предшествовал мощный огневой налет русской артиллерии на немецкую переднюю линию обороны, прежде чем соединения Красной армии перешли в атаку и вклинились в немецкие оборонительные линии на глубину от 4 до 8 километров. К 18 января возведенный здесь немецкий оборонительный рубеж был прорван на участке шириной до 100 километров, а глубина прорыва местами достигала 40 километров. Немецкие войска были вынуждены отойти на запад.
В последующие дни оба фронта энергично развивали свое наступление. 3-й Белорусский фронт преодолел участок реки Дейма и 26 января вышел на рубеж восточнее линии Кёнигсберг – Фридланд (ныне Правдинск) – Растенбург (ныне Кентшин в Польше).
В свою очередь, 2-й Белорусский фронт обошел район Млавы. Модлин был взят южной ударной группой советских войск. 21 января правый фланг этого фронта вышел к границе Восточной Пруссии и нанес удар по территории Германии.
Повернув на Эльбинг (ныне Эльблонг), этот фронт (в немецком языке этому понятию соответствует обозначение «группа армий») попытался напрямую выйти к заливу Фришес-Хафф. 26 января 1945 года были взяты Эльбинг и Толкемит (ныне Толькмицко)[29]. На этом завершилось отсечение немецких сил в Восточной Пруссии на суше. Соединения левого фланга 2-го Белорусского фронта нанесли удар на северо-запад в сторону Вислы, вечером 26 января вышли к этой реке в районе города Грудзёндз и захватили плацдарм на западном берегу реки. Советские войска обошли город Торн (Торунь) и блокировали его с севера и востока. К началу февраля немецкие силы в Восточной Пруссии были расколоты на три группы. Они оказались в юго-западном Хайльсбергском котле, в Кёнигсбергском котле и в котле на полуострове Замланд.
8 февраля 1945 года 2-й Белорусский фронт получил приказ Верховного главнокомандования провести новую наступательную операцию западнее Вислы и до 20 февраля выйти на рубеж устье Вислы – Диршау – Берент – Руммельсбург – Нойштеттин, чтобы вслед за этим продолжить наступление силами еще одной свежей ударной армии, предоставленной в его распоряжение. При этом приказывалось захватить города Данциг (Гданьск) и Готенхафен (Гдыня). Если бы этот замысел удался, то тогда все побережье Балтийского моря находилось бы в руках Красной армии, и все перевозки морским путем из рейха и в рейх были бы парализованы.
В это же самое время соединения 3-го Белорусского фронта пытались сломить сопротивление немецких войск, державших оборону в районе города Хайльсберг[30] (точнее, большого, 80 на 70 километров, Хайльсбергского укрепрайона), уничтожение которых уже было запланировано. Генерал армии Черняховский, главнокомандующий 3-м Белорусским фронтом, был смертельно ранен осколком артиллерийского снаряда у города Мельзак. 20 февраля советский маршал Василевский принял командование этим фронтом.