Через три дня после падения Выборга началось главное наступление трех белорусских фронтов и 1–го Прибалтийского фронта. Под прикрытием мощного артиллерийского огня в наступление двинулось более 100 дивизий. Удар был направлен на 4–ю и 9–ю армии фельдмаршала Буша, которые удерживали «ежи» Витебска, Орши, Могилева и Жлобина, а так же оборонительные полосы между этими пунктами. Русские планировали окружить весь район в треугольнике Витебск, Жлобин, Минск, а также овладеть и «ежами». 1–й Прибалтийский фронт генерала Баграмяна прорвал оборону немцев севернее Витебска, 3–й Белорусский фронт Черняховского прорвался севернее Орши, 2–й Белорусский фронт Захарова прорвался севернее Могилева, а 1–й Белорусский фронт Рокоссовского штурмом овладел Жлобином. В конце июня русские захватили все четыре «ежа»: Витебск — 26–го, Оршу — 27–го, Могилев — 28–го и Жлобин 29–го. 30 июня русские уже угрожали Минску с направления восточнее Борисова и со стороны города Осиповичи, в районе которого была окружена и уничтожена значительная часть 9–й немецкой армии. Вслед за форсированием Березины начался второй этап действий. Теперь стояла цель захватить Минск. После ожесточенного боя 1 июля пал Борисов. Затем немцы эвакуировали Минск, и 3 июля в город вступили русские. 4 июля войска фронта Баграмяна штурмом взяли Полоцк. В этот же день русские пересекли польскую границу 1939 г.
После взятия Минска Рокоссовский двинулся на Барановичи, 7 июня пробился в город и затем повел наступление на Белосток, в то время как на север от него Черняховский двинулся на Ригу. 10 июня Черняховский окружил Вильнюс и на третий день овладел им. Еще через три дня его подвижные колонны ворвались в Гродно и захватили плацдарм на другом берегу Немана, у городка Алитус. Этим открывалась дорога в Восточную Пруссию.
К середине июля русские коммуникации чрезвычайно удлинились, и наступление стало ослабевать. Тогда русское верховное командование перенесло главную тяжесть наступательных действий в Латвию и в направлении Львова.
Наступление в Латвии начал 12 июля 2–й прибалтийский фронт генерала Еременко. Развернувшись к северу от фронта Баграмяна, он прорвал оборону немцев у Опочки и вышел во фланг укрепленного района у Острова, которым 21 июля овладел 3–й Прибалтийский фронт Масленникова. Затем 23 июля был взят Псков. Между тем Еременко занял Лудзу и вышел на главную дорогу Остров—Даугавпилс.
Далее, 26 и 27 июля пали Даугавпилс, Резекне, Шауляй и Нарва. Первые два города занял Еременко, третий — Баграмян, а четвертый — Говоров.
Занятие Шауляя, который находится почти в 150 милях к западу от Даугавпилса, было осуществлено подвижной танковой колонной генерала Обухова, который сразу после занятия города двинулся прямо на север и 31 июля, застигнув в Елгаве немцев врасплох, выбил их из этого важного железнодорожного узла. Продолжая с боями двигаться далее на север, он 1 августа занял Тукумс и таким образом перерезал единственную остававшуюся у Лнндемана железную дорогу в Германию. Одновременно Баграмян захватил южнее Риги пункты Бауска и Биржай.
Это смелое наступление привело к замене Линдемана генералом Шернером, который 16 августа ударил на Шауляй 3 танковыми и 1 пехотной дивизией. Хотя ему не удалось взять обратно Шауляй, он все же заставил русских уйти из Тукумса. Выбить же русских из Елгавы он также не смог и благоразумно начал выводить свои войска из Эстонии и Латвии.
Между тем на Львовском фронте уже началось более сильное наступление. Главной его целью было овладение Львовом путем двустороннего охвата, двигаясь с востока на Злочев и с севера в направлении Каменка, Рава—Русская. Эти действия 16 июля начал 1–й Украинский фронт маршала Конева. Каменку и Злочев русские взяли 17 июля, и, хотя немцы приложили все усилия, чтобы удержать Броды, город пал на следующий день, а 20 июля Конев взял Раву—Русскую.
На правом крыле наступления Конева в 60 милях к северу от Каменки 20 июля колонны выдвинулись западнее Владимир—Волынского. Достигнув реки Сан, они форсировали его в пунктах Рудник и Лезайск и оттуда двинулись на Сандомир. 2 и 3 августа они форсировали Вислу у Баранова. 10 августа немцы нанесли сильный контрудар, но русские удержали позиции. 18 августа был взят Сандомир, и здесь русские создали плацдарм и соединили его с плацдармом у Баранова.
Тем временем Рокоссовский, уже занявший Ковель, выслал оттуда сильную подвижную колонну, которая застала врасплох 2–ю германскую армию и 21 июля вышла к реке Буг на широком фронте. Эта колонна пересекла реку в Опалине, захватила 22 июля Холм и 23 июля — Люблин.