Всего для участия в операции из состава обоих фронтов привлекалось в общей сложности двадцать семь стрелковых дивизий, семь стрелковых бригад, два танковых корпуса, восемь отдельных танковых бригад, три отдельных танковых полка и два отдельных танковых батальона. Пассивность задач противника позволяла из этого количества сил и средств сосредоточить на избранных для нанесения ударов направлениях 72% стрелковых войск, 90% артиллерийских средств и все 100% танковых войск. Операция в отличие от Острогожско-Россошанской была строго симметричной: для ударов на окружение со стороны обоих фронтов привлекались примерно равные силы и по одному танковому корпусу. Начало наступления командующими фронтами устанавливалось: для 40-й армии — 24 января, для 60-й армии — 25 января, для 38-й и 13-й армий — 26 января 1943 г.
Так же, как и в ходе Острогожско-Россошанской операции, была произведена перегруппировка сил и средств между армиями для создания ударных группировок. В частности, в 13-ю армию были рокированы из 48-й армии 81, 211-я и 280-я стрелковые дивизии, 193-й отдельный танковый полк. Кроме внутрифронтовых перегруппировок, производились значительные перегруппировки внутри армий. Например, в 60-й армии с правого фланга на левый перебрасывались две стрелковые дивизии и одна стрелковая бригада. Такие же примерно перегруппировки производились и в других армиях.
Перегруппировка многих соединений производилась на большие расстояния. Например, 5-я артиллерийская дивизия Брянского фронта совершала марш на расстояние до 200 км. 14-я танковая бригада Воронежского фронта — 160 км, стрелковые соединения 60-й армии — 60—80 км. Большинство соединений было перегруппировано с 16 по 23 января. Войска 40-й армии перегруппировку осуществили в период с 19 по 23 января.
В результате произведенных перегруппировок войска Брянского и Воронежского фронтов к началу операции заняли следующее положение.
В 13-й армии, действовавшей в 46-километровой полосе, ударная группировка была сосредоточена на 18-километровом фронте между pp. Кшень и Олым. В первом эшелоне ударной группировки находились четыре стрелковые дивизии (148, 307, 132-я и 8-я), одна танковая бригада и три танковых полка; во втором эшелоне — три стрелковые дивизии (280, 211-я и 81-я) и 129-я танковая бригада. Всего в армии Н.П.Пухова для непосредственной поддержки пехоты выделялись 167 танков. В полосе 13-й армии был также сосредоточен резерв фронта — 6-я гвардейская и 137-я стрелковые дивизии и 19-й танковый корпус (81 танк).
В 38-й армии ударная группировка была развернута на 14-километровом фронте от Козинки до Озерки и имела 240-ю и 167-ю стрелковые дивизии, 180-ю танковую бригаду и 14-й танковый батальон (91 танк). Все силы строились в один эшелон. За ударной группировкой в резерве армии находились одна стрелковая дивизия, курсы младших лейтенантов и танковый батальон.
60-я армия, получив от 40-й армии 22-километровый участок от р. Дон до Семидесятское, свою ударную группировку развернула на левом фланге, на участке фронта в 12 км; в ее первом эшелоне находились 322-я и 232-я стрелковые дивизии, 253-я стрелковая и три танковые бригады (51 танк); во втором эшелоне — 303-я стрелковая дивизия.
40-я армия действовала в полосе шириной 50 км. В первом эшелоне были развернуты 25-я гвардейская, 183, 309, 107-я и 340-я стрелковые дивизии, 129-я стрелковая и 192-я и 96-я танковые бригады (28 танков). Во втором эшелоне были три лыжно-стрелковые бригады и 305-я стрелковая дивизия, выдвигавшаяся из района Алексеевки в полосу наступления армии. 4-й танковый корпус (219 танков) занял исходные позиции в полосах 309-й и 107-й стрелковых дивизий, имея ближайшей задачей совместно с этими дивизиями прорывать оборону противника, а затем развивать успех на Касторное. Главные силы 40-й армии были сосредоточены в центре на 30-километровом фронте, где в первом эшелоне находились четыре стрелковые дивизии и все танковые войска.
В течение первых пяти дней операции, с 24 по 28 января, войска Брянского и Воронежского фронтов прорвали оборону противника и развивали наступление в глубину. Своеобразной традицией как «наступления богов», так и других операций зимы 1942—1943 гг. стала плохая погода, затруднившая артиллерийскую подготовку и лишившая советские войска поддержки с воздуха. С утра 24 января бушевала метель, видимость была крайне ограниченной. В надежде на то, что метель несколько утихнет, начало артиллерийской подготовки с предрассветных часов перенесли на 12 часов дня. Однако метель не унималась, и независимо от погоды было решено начать артиллерийскую подготовку в 12.30. Как и следовало ожидать, плохая видимость существенно снизила эффективность огня артиллерии. Положение в полосе 40-й армии спасал только тот факт, что оборона на этом направлении была наспех занятой, и на ее оборудование у немецких войск были считанные дни. Одновременно с пехотой начал наступление 4-й танковый корпус, с трудом пробивавшийся через снежные заносы. За день корпус смог преодолеть только 16 км вместо запланированных 35 км. Стрелковые дивизии 40-й армии смогли продвинуться только на 3—6 км или даже вели бой, не продвинувшись ни на йоту от исходных позиций.
На следующий день удачное решение принял командир 4-го танкового корпуса А.Г.Кравченко. Проанализировав данные разведки, он выявил слабое место в обороне противника и выбрал его как направление следующего удара. Благодаря этому корпусу удалось неожиданно прорваться к Горшечному и с ходу ворваться в этот населенный пункт. Далее по плану корпус А.Г.Кравченко должен был наступать на Касторное. Но, преодолевая глубокий снег, в первые два дня операции танки израсходовали много горючего, а колонны автомашин с горючим застряли в пути из-за снежных заносов. Продолжение операции было возможно только после дозаправки. Однако прорыв на Горшечное обеспечил успех стрелковых соединений 40-й армии, продвинувшихся 25 января на 6—18 км. Обнаружив начавшийся отход противника из Воронежа, перешли в наступление и полностью овладели городом войска 60-й армии.
В 8.08 26 января долго остававшийся пассивным участок фронта 13-й армии был освещен огненными шлейфами с визгом проносившихся над заснеженными позициями снарядов «катюш». Вслед за залпом РС загрохотала артиллерия. В 8.55 на позиции немцев обрушились бомбы самолетов 15-й воздушной армии. Пока штурмовики и бомбардировщики перепахивали позиции артиллерии и передний край обороны немцев, танки с десантом автоматчиков начали проходить через боевые позиции пехоты. К наступлению присоединился Брянский фронт. К исходу 26 января оборона противника была прорвана наступающими на глубину 6—7 км, что соответствовало задаче первого дня наступления. В тот же день войска 40-й армии продвинулись еще на 10 км. Однако у противника за спиной еще оставался почти 60-километровый коридор для выхода из-под угрозы окружения на запад.
Быстро замкнуть кольцо окружения можно было только подвижными соединениями. В течение 26 января 4-му танковому корпусу горючее доставлялось в район Горшечного самолетами У-2. Бипланы У-2 в Красной Армии были таким же незаменимым самолетом, как и Ю-52 в вермахте. Благодаря этому с утра 27 января корпус А.Г.Кравченко перешел в наступление из района Горшечного в направлении на Касторное. К исходу дня передовой отряд корпуса (танковая бригада с десантом автоматчиков) вышел на южные подступы к Касторному. Одновременно корпусом были перехвачены пути отхода противника на юго-запад. Пытавшиеся пробиться в этом направлении группы и колонны были встречены огнем танков и вынуждены были искать другие пути для бегства из образующегося «котла». Следовавшая по пятам 4-го танкового корпуса 25-я гвардейская стрелковая дивизия 27 января вышла в Горшечное и заняла перекрестки дорог в этом районе.
Тем временем с севера кольцо окружения постепенно смыкал Брянский фронт. К исходу 27 января 13-я армия преодолела оборону противника на глубину до 20 км, расширив прорыв до 25 км. Следует отметить активное участие в боевых действиях авиации Брянского фронта, выполнившей 457 самолето-вылетов. 28 января к Касторному вышли с севера 118-я танковая бригада 13-й армии, с востока — 180-я танковая бригада 38-й армии, а к южной окраине города подошли части 4-го танкового корпуса. Совместными усилиями войск двух фронтов к утру 29 января была захвачена большая часть города. Трофеями советских войск в Касторном стало большое количество автомашин с различным имуществом.