Основная роль отводилась 13-й армии под командованием генерал-лейтенанта Н.П. Пухова, имевшей в своем составе три стрелковых, 1-й и 6-й гвардейские кавалерийские корпуса. Главный удар армия наносила силами 76-го стрелкового и двух кавалерийских корпусов из района Сарны на Ровно и Луцк, обходя их с северо-запада. На левом фланге 24-й стрелковый корпус должен был продвигаться в обход Ровно с юга и юго-запада. Правофланговый 77-й стрелковый корпус имел задачу прикрыть правый фланг армии в районе Столина, а остальными силами выдвинуться к реке Горынь.
60-я армия генерал-лейтенанта И.Д. Черняховского имела в своем составе четыре стрелковых, 4-й гвардейский и 25-й танковый корпуса. Армия наносила главный удар силами 18-го гвардейского стрелкового корпуса на Шепетовку. 23-й стрелковый корпус, примыкавший к 13-й армии, должен был овладеть рубежом Острог — Славута. Остальные корпуса сковывали противостоящие силы противника, не допуская возможного удара группировки противника по левому флангу армии.
Обе армии имели 19 стрелковых дивизий, два кавалерийских и два танковых корпуса. В них в общей сложности было 2811 орудий и минометов, 140 танков и самоходных установок. Им противостояли шесть пехотных дивизий 13-го и 59-го армейских корпусов под командованием генералов Хауффе и Шульца. Южнее Шепетовки располагался 48-й танковый корпус в составе трех танковых дивизий.
Операция осуществлялась в условиях труднодоступной лесисто-болотистой местности, на ряде участков непроходимой для войск. Распутица и половодье еще более затрудняли наступательные действия. Но эти-то условия командование фронта использовало для достижения успеха. Немцы из-за недостатка сил и по условиям местности не имели между Сарнами и Шепетовкой сплошного фронта обороны. Только основные дороги перехватывались отдельными опорными пунктами; между ними имелись промежутки, которые патрулировались небольшими группами. Кроме того, удар из района западнее Сарнов обеспечивал внезапность, так как противник, учитывая сильную заболоченность местности, слабую сеть дорог и распутицу, полагал, что в этом районе действия крупных масс советских войск невозможны. В этих условиях советское командование основную ставку сделало на кавалерию.
В плане операции было предусмотрено и то, что реки в этом районе текут в меридиональном направлении. Поэтому важно было исключить необходимость их последовательного форсирования. Предполагалось маневрировать вдоль рек.
Одновременно с подготовкой сильного удара из района Сарнов во фланг и тыл луцко-ровенской группировке предусматривалось нанесение ударов с фронта с целью сковать противника и лишить его свободы маневра.
В районе предстоящих боевых действий оперировали партизанские соединения и отряды С.А. Ковпака, А.Ф. Федорова, М.И. Наумова, Д.Н. Медведева, А.Н. Сабурова. Планируя операцию, штабы 1-го Украинского фронта и 13-й армии согласовали с Украинским штабом партизанского движения действия войск и партизан.
Операция началась 27 января. На правом фланге 13-й армии 1-й и 6-й гвардейские кавалерийские корпуса в течение ночи на 27 января перешли линию фронта и к утру выдвинулись в районы Владимирец, Островце, Полицы, Седлиско. Здесь они остановились на дневку, готовясь к продвижению на рубеж реки Стырь.
Части 76-го стрелкового корпуса с утра 27 января прорвали оборону противника на своем правом фланге и продвинулись вперед на 5–7 км. 24-й стрелковый корпус успешно форсировал на всем фронте Горынь и продвинулся от 4 до 6 км. Его 287-я стрелковая дивизия в первый же день наступления заняла Острог.
Войска Черняховского силами 18-го гвардейского и 23-го стрелковых корпусов на правом фланге выдвинулись на рубеж реки Горынь и подошли с севера и востока на подступы к Шепетовке.
На второй день кавалерийские корпуса, возобновив движение на запад, в ночь на 28 января достигли рубежа реки Стырь в районе Рафаловки, Чарторийска и передовыми отрядами форсировали реку в этих районах.
Германское командование было обеспокоено непрочным положением на северном фланге 4-й танковой армии, хотя не имело еще представления о целях и масштабах советского наступления. Главной задачей оно считало усилить оборону основных узлов и дорог и переправ на реке Стырь на ковельском направлении. С этой целью в район Столина и южнее срочно выдвигалась моторизованная дивизия СС «Фельдхернхалле», в район Маневичей — резервные части из Ковеля, в Ровно — части 19-й венгерской дивизии, в район Шепетовки — 7-я танковая дивизия и в район Ямполя — 21-я венгерская дивизия.
Стало ясно, что до Ковеля кавалеристы не дойдут.