Контрнаступление советских войск под Сталинградом 19 ноября 1942 г. положило начало коренного перелома в ходе Великой Отечественной войны. Операция состояла из двух этапов: на первом предполагалось прорвать оборону противника, создать прочное внешнее кольцо окружения; на втором – уничтожить окруженного противника. В начавшемся контрнаступлении участвовали силы трех фронтов: Юго-Западного (командующий – генерал Н. Ватутин), Донского (генерал К. Рокоссовский) и Сталинградского (генерал А. Еременко). 23 ноября передовые части Юго-Западного и Сталинградского фронтов соединились, окружив части 6-й немецкой армии, находившейся в Сталинграде. Попытки сходу ликвидировать окруженную группировку не принесли успеха. Утром 10 января советские войска приступили к осуществлению операции «Кольцо», которая завершилась 2 февраля 1943 г. капитуляцией окруженных немецких войск. Общие потери немецких войск под Сталинградом составили около 1,5 млн человек – четверть всех сил, действовавших на советско-германском фронте. Тяжелые потери понесла и Красная Армия: только за период контрнаступления общее количество убитых и раненых составило свыше 1 млн 129 тыс. солдат и офицеров.
После ожесточенных сражений зимой 1942–1943 гг. на советско-германском фронте наступило затишье. Воюющие стороны извлекали уроки из прошедших боев, намечали планы дальнейших действий. Линия фронта к началу летне-осенней кампании 1943 г. в районе Курска образовала огромный выступ, глубоко вдававшийся в расположение вражеских войск, – «Курскую дугу». Немецкое командование на этом участке фронта предполагало двумя мощными встречными ударами из районов Орла и Белгорода окружить и уничтожить советские войска в Курском выступе, а в дальнейшем разгромить их в Донбассе. Планы германского командования стали известны советской стороне, принявшей решение обескровить немецкие войска мощной обороной, а затем перейти в контрнаступление. На Курском выступе было построено 8 оборонительных полос (до 300 км в глубь территории), отрыто 9240 км траншей и ходов сообщения. 5 июля 1943 г. немцы перешли в наступление на участках обороны Воронежского (генерал армии Н. Ватутин) и Центрального (генерал армии К. Рокоссовский) фронтов. Неся большие потери, враг к 11 июля 1943 г. углубился на отдельных участках фронта на 30–40 км, но главной цели не достиг. 12 июля в районе д. Прохоровки состоялось крупнейшее танковое сражение Великой Отечественной войны, в котором участвовало более 1100 танков и самоходных орудий. Обе стороны понесли огромные потери, но немецкий танковый удар был остановлен. В этот же день войска Воронежского фронта перешли в контрнаступление. 15 июля контрнаступление начал Центральный фронт, 18 июля – Степной (генерал-полковник И. Конев). Курская битва завершилась 23 августа освобождением Харькова.
С середины сентября 1943 г. на семисоткилометровом фронте левобережной Украины развернулась битва за Днепр. Противник пытался на днепровском рубеже остановить советские войска и придать войне затяжной позиционный характер. К осени 1943 г. гитлеровское командование создало стратегический оборонительный рубеж, получивший название «восточный вал», основную часть которого составляли укрепления по р. Днепр. Ставка Верховного Главнокомандования стремилась к тому, чтобы войска вышли к Днепру широким фронтом и сорвали планы фашистов сделать «восточный вал» неприступным. Эта задача успешно была выполнена, и в конце сентября южнее Киева советским войскам удалось форсировать Днепр, освободив 6 ноября столицу Украины – город Киев.
Отступая, гитлеровцы цеплялись за каждый рубеж, стараясь задержать продвижение советских войск на запад. Понимая, что потеря Беларуси откроет Вооруженным Силам СССР прямой путь в Прибалтику, Польшу и Восточную Пруссию, враг держал здесь большие силы и старательно укреплял оборонительные рубежи. В начале октября белорусское направление прикрывало до 70 гитлеровских дивизий. В рамках битвы за Днепр началось освобождение территории Беларуси. 23 сентября 1943 г. советские войска освободили первый районный центр БССР – г. Комарин.