Прогнозируя действия русских на лето 1944 года, в ставке фюрера решили, что советское командование нанесет главный удар на участке южнее Припятских болот. Попытка захвата Львова и Ковеля казалась логичным развитием событий второй половины 1943 года. Советское командование всячески поддерживало это заблуждение. 23 мая 1944 года в Москве было принято окончательное решение о проведении операции «Багратион». Ее замысел предусматривал одновременный прорыв обороны противника на шести направлениях, окружение и уничтожение фланговых группировок вермахта в районах Витебска и Бобруйска, полный разгром оршанской и могилевской группировок. После этого планировалось сходящимися ударами трех Белорусских и одного Прибалтийского фронтов в общем направлении на Минск окружить и уничтожить основные силы группы армий «Центр». В дальнейшем на центральном направлении предусматривался переход границы 1939 года и выход на Вислу с захватом Варшавы, а на северном — прорыв к Рижскому заливу. Для разгрома вермахта непосредственно на территории Белоруссии привлекались силы 1-го Прибалтийского фронта Баграмяна, 3-го Белорусского фронта Черняховского, 2-го Белорусского фронта Захарова и 1-го Белорусского фронта Рокоссовского. В ходе операции Жуков должен был координировать действия 1-го и 2-го Белорусских фронтов, а Василевский — 3-го Белорусского и 1-го Прибалтийского. С 21 по 23 июня 1-й Прибалтийский, 1-й, 2-й и 3-й Белорусские фронты перешли в наступление по обе стороны Витебска, на Оршу и Могилев, а также севернее и южнее Бобруйска. 2,5 млн советских солдат обрушились на группировку фельдмаршала Буша. Войска 1-го Прибалтийского фронта удачно провели прорыв и вышли на оперативный простор. В тот же день Рокоссовский и Захаров вбили глубокие клинья в расположения 9-й и 4-й армий вермахта. 24 июля Витебск был окружен. Тем временем положение 9-й армии в районе Бобруйска резко осложнилось, а связь с 4-й армией северо-западнее Рогачева и вовсе прервалась. Войска 3-го Белорусского фронта стремительно продвигались вдоль шоссе Минск—Москва, обходя 4-ю армию с левого фланга. 26 июня части 2-го Белорусского фронта прорвались между Могилевом и Оршей. Орша уже была окружена с трех сторон, и угроза нависла над Могилевом. Коммуникации 4-й армии, проходившие через эти города, были перерезаны. Под Бобруйском войска 1-го Белорусского фронта окружили основные силы 9-й армии. 29 июня Буш был отстранен, и его место занял Модель, но это уже не могло ничего изменить. Прошло еще несколько дней, и участь 9-й и 4-й армий была решена.
Только 15 тыс. человек из 9-й армии, бросив тяжелое вооружение, смогли пробиться навстречу посланной для их спасения танковой дивизии в районе северо-восточнее Слуцка. 4-я армия под нажимом советских войск оставила Березино и стала стремительно отступать к Минску. 4 июля в столицу Белоруссии вошли танки генерала Ротмистрова, замкнув клещи вокруг частей 4-й армии. Результаты длившегося уже две недели разгрома были впечатляющими. Вермахт потерял 25 дивизий. Лишь немногие соединения, оборонявшиеся на южном фланге 2-й армии, сохранили боеспособность. 12 июля остатки 2-й и 4-й армий были отброшены к Пинску и Слониму. На следующий день советские войска взяли Вильнюс. Войска 2-го и 3-го Прибалтийских фронтов медленно выдавливали вермахт на запад. 21 июля советские войска заняли Паневежис и начали пробиваться в сторону Рижского залива. 29 июля они вышли на берег Рижского залива в районе Тукума, отрезав немецкую группировку в Прибалтике. В ходе Белорусской наступательной операции группа армий «Центр» была почти полностью уничтожена. В плен попало более 150 тыс. немецких солдат и офицеров, в том числе 22 генерала. Вермахт потерял убитыми 380 тыс. человек. Теперь предстояло нанести главный удар на львовском направлении и выбить немцев из Восточной Польши. 1-му Белорусскому фронту в ходе Ковельской операции следовало выйти на Вислу, занять Варшаву и закрепиться на западном берегу реки, создав плацдармы для дальнейшего наступления на западные районы Польши. 1-й Украинский фронт должен был провести два удара на главных направлениях — Львовском и Рава-Русском, и один на Станиславском фронте, а 4 июля 1-й Украинский фронт Конева нанес удар в районе Броды, а через два дня его войска уже вышли к Верхнему Бугу севернее Львова, после чего прорвали оборону немцев у Ковеля. 22 июля части Красной Армии форсировали Буг и подошли к Хелму. Заняв Хелм, Конев стал пробиваться дальше на запад и 24 июля взял Люблин. Используя это прикрытие с фланга, 1-й Белорусский фронт к началу августа вышел на подступы к Варшаве. В польской столице начались восстания Армии Крайовой, и советское командование перенесло всю тяжесть своего удара южнее. Оставшись без помощи, 2 октября 1944 года поляки в Варшаве капитулировали. В начале ноября 1944 года Сталин приказал 3-м Белорусским фронтам перейти к обороне.