К ноябрю 1942 года Красной армии удалось остановить общее наступление немецких войск. В районе Сталинграда они образовали клин, при этом фланги ударных группировок не были прикрыты должным образом. В зиму 1942–1943 годов немецкое командование рассчитывало удерживать занимаемые рубежи до весны с тем, чтобы потом вновь начать наступление.
Гитлер считал, что Красная армия, измотанная тяжелыми боями, не способна провести крупное наступление. К тому же немцы сильно недооценили наращивание Советским Союзом к осени 1942 года производства военной техники — авиации и особенно танков, без которых немыслимо проведение крупной наступательной операции.
К моменту контрнаступления советские войска в районе Сталинграда насчитывали свыше 1,1 миллиона человек, около 1 500 танков и самоходок, 15 тысяч орудий и минометов, 1 350 самолетов. Вражеская группировка из немецких, итальянских и румынских армий располагала примерно миллионом солдат и офицеров, 700 танками и самоходными орудиями, а воздушную поддержку осуществляло 1 200 самолетов.
То есть силы были примерно равны (за исключением танков, орудий и минометов), но советское командование за счет перегруппировки войск создавало двойное и тройное превосходство сил на направлениях главных ударов.
Контрнаступлению советских войск под Сталинградом предшествовала работа Генерального штаба, разведки, тыловых служб. В своих мемуарах Жуков, бывший в то время заместителем Верховного Главнокомандующего, и начальник Генштаба Василевский рассказывают о том, что детальная разработка стратегической операции под Сталинградом началась в сентябре 1942-го, после разговора у Сталина. Окончательно Ставка утвердила план операции 13 ноября.
Она получила кодовое название «Уран». Примечательно, что из почти пяти десятков стратегических операций Великой Отечественной лишь пятая часть имеет кодовые имена. По воспоминаниям маршала Василевского, их давал сам Сталин.
План наступательной операции предусматривал нанесение глубоких охватывающих ударов силами Юго-Западного и Сталинградского фронтов по флангам вражеской группировки под Сталинградом — наиболее уязвимым участкам обороны, на которых располагались румынские дивизии. Ударные группировки обоих фронтов должны были встретиться в районе Калача и окружить основные силы противника под Сталинградом.
Донской фронт наносил два вспомогательных удара — один из района Клетской на юго-восток, а другой из района Качалинской вдоль левого берега Дона на юг.
На всех участках прорыва за счет грамотного сосредоточения сил и средств создавалось превосходство (по личному составу — в 2–2,5 раза, по артиллерии и танкам — в 4–5 раз).
Подготовка контрнаступления велась в обстановке строгой секретности. Советские танки тщательно маскировались, как и свежие части, перебрасываемые к местам прорыва — они совершали переходы по ночам. В то же время для того, чтобы ввести немцев в заблуждение, было сымитировано перемещение войск в районе Москвы и на участке Воронежского фронта.
Интенсивно строились дополнительные подъездные пути, мосты и переправы: через Дон в полосе Юго–Западного фронта было построено 17 мостов и 18 паромных переправ. Через Волгу южнее Сталинграда было оборудовано десять переправ. В полосе Донского фронта построено три моста и четыре паромные переправы. Всего было переброшено 160 тысяч человек, 430 танков, 550 орудий, 14 тысяч автомобилей и более 10 тысяч лошадей.
С середины октября распоряжением штаба Донского фронта из 25-километровой прифронтовой зоны началась эвакуация мирного населения. Освободившиеся населенные пункты предполагалось превратить в убежища для передвигающихся частей. Помимо вещей, граждан обязали забрать с собой крупный рогатый скот, овец, свиней, кур. Коровы использовались как тягловая сила. Вся колхозная техника — трактора и комбайны — также вывозились за линию фронта.
За счёт глубокой секретности разработки плана и скрытности сосредоточения сил советскому командованию удалось обеспечить полную внезапность наступления.
Начало контрнаступления было намечено на 9 ноября, но из-за трудностей с обеспечением ударных войск горючим и боеприпасами — не хватало грузовиков, ситуацию осложняла неустойчивая погода с ледяным дождем, сменявшимся морозами, — его пришлось отложить на 10 дней.
Операция «Уран» была одним из самых масштабных сражений Великой Отечественной войны. Она развернулось на огромной территории площадью около 100 тыс. кв. км при протяженности фронта в 400 — 850 км. На отдельных этапах с обеих сторон участвовало более 2,1 млн чел., свыше 26 тыс. орудий и минометов, 2,1 тыс. танков и свыше 2,5 тыс. самолетов.
Наступление войск Юго-Западного и правого крыла Донского фронтов началось туманным утром 19 ноября после мощной артподготовки. Почти 7 тысяч орудий в течение 80 минут обрушили на позиции врага настоящий смерч огня и стали. Очевидцы вспоминали, что земля дрожала так, как будто началось землетрясение.
Затем в наступление пошли танкисты — войска 5-й танковой армии прорвали оборону 3-й румынской армии. За танковыми частями в наступление шли кавалеристы. Расчет удара по румынским позициям оправдался — после нескольких часов обороны румыны поддались панике, несколько дивизий румынского фронта сдались и бежали.
К обеду туман рассеялся и в небо поднялась советская авиация. Авиационное наступление, как новая форма оперативного применения авиации, включала подготовку атаки и поддержку наступления войск в глубине. Артиллерийское и авиационное наступление в полном объеме было впервые применено в ходе Великой Отечественной войны. Также впервые перед началом боя в полосах всех армий была проведена разведка боем.
Немецкие части, располагавшиеся сзади румынских войск, попытались остановить советские войска сильной контратакой, но были разгромлены введёнными в бой 1-м и 26-м танковыми корпусами. Их передовые части продвигаясь в район Калача.
20 ноября в наступление перешла ударная группировка Сталинградского фронта. Утром 23 ноября передовые части 26-го танкового корпуса овладели Калачом. 23 ноября войска 4-го танкового корпуса Юго-Западного фронта и 4-го механизированного корпуса Сталинградского фронта встретились в районе хутора Советский, замкнув кольцо окружения сталинградской группировки противника в междуречье Волги и Дона.
В результате контрнаступления советских войск в окружении оказались 22 дивизии и 160 отдельных частей общей численностью 330 тысяч человек — 6-я и основные силы 4-й танковой армий. Чтобы пресечь все попытки противника вырваться из котла и деблокировать окруженную группировку, советские войска создали внутренний и внешний фронты окружения, отстоящие друг от друга на 40—100 км.
24 ноября войска Юго-Западного фронта, разгромив окруженные в районе Распопинской румынские войска, взяли 30 тысяч пленных и много техники. 24–30 ноября войска Сталинградского и Донского фронтов, ведя ожесточённые бои с окруженными войсками врага, сократили занимаемую им площадь вдвое, зажав его на территории 70—80 км с запада на восток и 30—40 км с севера на юг. 30 ноября операция по окружению и блокированию немецкой группировки завершилась.
Однако советское командование недооценило численность попавшей в котел группировки — это не сказалось на стремительности окружения, но сильно замедлило ликвидацию окруженных войск. Вместе с тем наличие огромного котла, приковавшего к себе все силы и внимание врага и резко ограничившее возможные варианты его действий на всем южном крыле, позволило советскому командованию блестяще развить успех окружения и нанести врагу новые огромные потери.