7 июля 1941 года немцы оккупировали Новоград-Волынский. Отдельные долговременные огневые точки вокруг города сопротивлялись до 10-14 июля. Однако город на долгие годы оказался под властью врагов. Откатываясь от Днепра, немцы укрепили город, однако со стороны севера, находились лишь отдельные вражеские заслоны. Это учло советское командование при планировании наступления на город.
После разгрома фашистских войск в районе Чоповичах и освобождения большого железнодорожного узла и города Коростеня 29 декабря 1943 войска 13-й армии 1-го Украинского фронта двинулись на запад двумя колоннами вдоль шоссе и железной дороги в Новоград-Волынский, догоняя разрозненные остатки вражеского Коростенской группировки. В своем составе 13-я армия имела 4 стрелковых корпуса: 24-й, 28-й, 76-й, 77-й, в состав которых входило 12 стрелковых дивизий; 1-й и 6-й гвардейские кавалерийские корпуса; 25-й танковый; 150-я отдельная танковая бригада, 8 артиллерийских и минометных полков, зенитно-артиллерийская дивизия, штурмовая инженерная бригада и другие части.
Схема расположения войск при освобождении Новоград-Волынского.
Непосредственно на Новоград-Волынский наступали: 24-й стрелковый и 25-й танковый корпуса. Во втором эшелоне наступали: 150-я отдельная танковая бригада, 5 гвардейский минометный полк, 999-й самоходный артиллерийский полк. Остальные 13-й армии наступала на правом фланге на запад, в направлении Городница-Олевск. Южную часть Новоград-Волынского и Ярунского районов освобождали части 8-й стрелковой дивизии 60-й армии.
Остатки немецкого 13-го армейского корпуса, участвовавшие в боях за р. Днепр, которые в совокупности составляли около двух дивизий, отошли в Коростень, затем — в Новоград-Волынского. Сюда же отошли 147-я резервная и 454-я охранная дивизии. Здесь же был и 8-й штрафной немецкий батальон. Эти силы немцев, сгруппировалось, и окопалась в Новограде-Волынском, используя природный рубеж защиты — реку Случ.
175-я танковая бригада, с партизанами отряда им. Чкалова на броне, догнала и разгромила армейскую тыловую колонну противника, которая не могла переправиться, вследствие взорванного моста. Партизанские отряды вместе с частями Красной Армии разбив вражеский заслон в районе Чижовка, форсировав Случ, вышли из с. Александровка и с. Наталиевка на западную окраину Новоград-Волынского в районе железнодорожной станции Новоград-Волынский-1, отрезав противнику пути отхода на Ровно и Шепетовку.
287-я дивизия из состава 24-го стрелкового корпуса вышла вдоль железной дороги от ст. Рыхальская в район населенных пунктов Гали и Ржаткивка в готовности штурмовать узлы сопротивления противника вдоль реки Случь в восточной части города. 149-я дивизия, разбив вражеское прикрытия в районе сел Броники и Лубчици, форсировала Случ южнее Новоград-Волынского и расположила свои боевые порядки в районе сел Смолка, Кануни, Стриева, заблокировав противника в городских кварталах на всем южном периметре.
140-я стрелковая дивизия, форсировав Случь в районе Чижовка, вышла на северо-западную окраину Новоград-Волынского, держа противника в городских кварталах с севера и северо-запада. Группировка врага оказались в плотном кольце окружения в городских кварталах. 1 января 1944 года начался штурм города. До конца дня советским бойцам удалось захватить железнодорожную станцию, а также выйти на западную и юго-западную окраину города.
Всю ночь с 1 на 2 января немцы, контратакуя, безуспешно пытались восстановить утраченные позиции. Рано утром 2 января 20-я мотострелковая и 111-я танковая бригады возобновили наступление. В бой за город втянулись и 162-я и 175-я танковые бригады, 1829-й тяжелый и 41-й самоходно-артиллерийский полки, 479-й, 568-й стрелковые полки 149-й стрелковой дивизии и 868-й стрелковый полк 287-й стрелковой дивизии. Остальные части 149-й стрелковой дивизии обходили город с восточной окраины через Лубчици на Смолы, Стриеву, Суслы. Части 140-й Сибирской стрелковой дивизии обходным маневром с севера и северо-запада прикрывали корпуса, сражавшихся в городе, и подходы резерва врага с запада и выходили в район Красиловки, Таращанка, Филиппович.
В конце дня 2 января советские воины, отбивая дом за домом, улицу за улицей, достигли центральной части города. Бои продолжались и в течение всей ночи со 2 на 3 января. Утром 3 января немцы начали отход на юго-запад, попав под огонь танковых бригад и самоходок. Только отдельным мелким группам немцам удалось просочиться через окружение.
Подбитый немецкий танк «Пантера» на окраине города.
Система обороны противника, все фортификационные сооружения были разрушены. К обеду 3 января 1944 вражескую группировку, что находилось в «котле», было в основном разгромлено. Стрелковые подразделения советских частей продолжали выбивать фашистов с чердаков и выкуривать их из подвалов. К концу светового дня зачистка была закончена.
Советские солдаты на улицах освобожденного города.
Генерал Й.М. Панкратов и командование 287-й стрелковой дивизии в освобожденном Новоград-Волынском.
В боях за Новоград-Волынский немцы потеряли убитыми более 600 солдат и офицеров, большое количество военной техники. Советские войска захватили в городе 15 крупных складов продуктов питания, горючего, боеприпасов. Вечером 3 января 1944 приказом Верховного Главнокомандования была объявлена благодарность войскам 1-го Украинского фронта, участвовавших в освобождении Новоград-Волынского. В Москве в честь освобождения города был дан салют 12 артиллерийскими залпами из 124 орудий.
Утром 4 января 1944 противник двумя колоннами танков и мотопехоты на бронетранспортерах из двух направлений — 24 танками со стороны г. Ровно вдоль пути на м. Корец и 12 танками со стороны с. Ярунь, пыталось ворваться в город и захватить его, восстановив линию фронта вдоль реки Случь. Однако контратака противника была отбита.