Советское командование, оценивая сложившуюся ситуацию, пришло к выводу о том, что настало время реализации плана операции по ликвидации окруженной вражеской группировки. Проведение этой операции было возложено на войска Донского фронта под командованием генерала К. К. Рокоссовского. Фронту были переданы 62, 64 и 57-я армии Сталинградского фронта. В общей сложности Донской фронт имел теперь семь общевойсковых и одну воздушную армию. Представителем Ставки ВГК на фронте был назначен генерал Н. Н. Воронов. Сталинградский фронт, переименованный в Южный, получил задачу развивать наступление на внешнем фронте окружения в общем направлении на Ростов-на-Дону.
Начало операции по ликвидации окруженной группировки противника, получившей кодовое название «Кольцо», было назначено на 6 января, но затем перенесено на 10-е. К началу операции Донской фронт имел 39 стрелковых дивизий, 10 стрелковых, мотострелковых и морских бригад, 7 авиационных дивизий, 45 артиллерийских и минометных полков РВГК, 10 полков реактивной артиллерии, 5 танковых бригад, 14 отдельных танковых полков, 17 артиллерийских полков ПВО и ряд других частей. Всего войска фронта насчитывали 212 тыс. человек, около 6,9 тыс. орудий и минометов, 257 танков и 300 самолетов. В составе окруженной группировки имелось 250 тыс. человек, свыше 4,1 тыс. орудий и минометов, до 300 танков и 100 самолетов[204].
Чтобы избежать напрасных жертв, генералы К. К. Рокоссовский и Н. Н. Воронов 8 января 1943 г. с согласия Ставки ВГК предъявили командованию окруженной группировки ультиматум о капитуляции, но он был отвергнут. Советскому командованию не оставалось ничего иного, как решить вопрос силой оружия.
Соединения Донского фронта перешли в наступление 10 января после мощной артиллерийской и авиационной подготовки. К исходу дня главная полоса обороны окруженных была прорвана. К 12 января войскам фронта удалось ликвидировать так называемый мариновский выступ, уничтожив при этом до трех вражеских дивизий, и выйти к реке Россошке. Была прорвана и оборона немцев на реке Червленой. Все попытки неприятеля задержать наступление советских войск на втором оборонительном рубеже, проходившем в основном по бывшему среднему оборонительному обводу Сталинграда, успеха не имели. Исчерпав все свои возможности в борьбе за первый и второй оборонительные рубежи, противник дрогнул, начался общий отход его к Сталинграду. После потери аэродрома в районе Питомника, через который в основном осуществлялось снабжение окруженных войск, в распоряжении 6-й армии оставался единственный аэродром Гумрак. Тем не менее и повторное предложение советского командования сложить оружие было отвергнуто. К 20 января соединения Донского фронта вышли на рубеж Большая Россошка — Воропоново.
Перегруппировав свои войска, генерал Рокоссовский нанес очередной удар. Наступление возобновилось по всему фронту окружения. К исходу 25 января окруженная группировка была зажата на территории, протяженность которой с севера на юг составляла 20 км, а с запада на восток — не более 3–4 км. За две недели боевых действий ее потери составили более 100 тыс, человек[205]. На следующий день командующий 6-й армией Паулюс направил начальнику генерального штаба сухопутных сил телеграмму следующего содержания: «Крепость может быть удержана только считаные дни. Из-за отсутствия снабжения люди обессилели, оружие лишено подвижности. Последний аэродром в ближайшее время будет потерян, в результате чего возможность снабжения будет сведена к минимуму… Оснований для выполнения боевой задачи и удержания Сталинграда больше нет… Я намерен, не дожидаясь окончательного крушения обороны, отдать всем частям приказ организованно пробиваться на юго-запад… Если же мы останемся на месте, то, несомненно, все погибнем, пленные тоже умрут от голода и холода». На это ОКХ ответил, что решение в отношении попытки прорыва из окружения остатков 6-й армии фюрер оставил за собой. Гитлер же подтвердил свой приказ 6-й армии «продолжать бой до последней возможности»[206].
25 января войска Донского фронта ворвались в Сталинград с запада. Навстречу им бросилисъ воины 62-й армии. Они с сентября 1942 г. стойко держались на узком клочке сталинградской земли. Окруженная группировка врага теперь была рассечена на две части. Южная группа (остатки 9 дивизий) была блокирована в центре города, северная (остатки 12 дивизий) — в районе заводов «Баррикады» и Тракторного. Южную группу возглавлял сам Паулюс, оказавшийся вместе со своим штабом в ее расположении. Командование северной группой он возложил на командира 11-го армейского корпуса генерала К. Штреккера.