В бою при прорыве кольца окружения погибли комиссар корпуса бригадный комиссар П.С. Лебедев, начальник штаба полковник П.И. Калиниченко, начальник медслужбы бригадный врач И.И. Скачков, секретарь парткомиссии старший политрук Н.Е. Марченко, помощник начальника оперативного отдела майор В.В. Высокоостровский, председатель военного трибунала военный юрист 2-го ранга А.Н. Чернявский и многие другие офицеры. Сам командир корпуса разрывом мины был тяжело ранен, попал в плен, где и умер 2 августа 1941 г. в лагере военнопленных в Шяуляе.
Во временное командование корпусом 1 июля вступил полковник В.Я. Гринберг.
Дивизии корпуса отходили через Елгаву на Ригу. Туда же отходил и 28-й мотострелковый полк, который выполнял приказ командующего фронтом по деблокаде военно-морской базы Лиепая и окружённых там частей 67-й стрелковой дивизии.
Город Рига был совершенно не подготовлен к обороне. Положение усугублялось тем, что 28 июня в городе вспыхнуло вооружённое восстание латвийских сепаратистов. 29 июня войскам НКВД (части формирующейся 22-й мотострелковой дивизии НКВД) удалось снова взять город под свой контроль, но уделять внимание на подготовку города к обороне извне сил уже не было. Рижские мосты обороняли лишь два батальона рабочей гвардии и небольшие подразделения пограничников, имевших на вооружении только лёгкое стрелковое оружие.
Немецкая 61-я пехотная дивизия вышла к Риге одновременно с отходившими подразделениями 10-го стрелкового и 12-го механизированного корпусов. Если бы противнику удалось быстро занять рижские мосты, главные силы 8-й армии оказались бы прижатыми к реке Западная Двина, без средств переправы на северный берег. Немецким войскам открылась бы беспрепятственная дорога в Эстонию и на Псков.
Бои за Ригу протекали в крайне невыгодных условиях для советских войск. Один из трёх мостов был захвачен противником. Возникла серьёзная угроза захвата остальных. Переправлявшейся на северный берег 28-й танковой дивизии было приказано очистить этот район от противника и не допустить им захвата мостов. Танкисты действовали дерзко и решительно, в бою участвовал лично командир дивизии полковник И.Д. Черняховский. Уличные бои продолжались двое суток. По немецким источникам в «битве за рижские мосты» вермахт потерял 532 человека только убитыми. Действия дивизии позволили практически беспрепятственно переправить основные силы 8-й армии на северный берег реки Западная Двина и занять там оборону.
После переправы остатки 12-го мехкорпуса собирались в районе станции Кегумс. Прикрывал сосредоточение корпуса со стороны Западной Двины на участке станция Кегумс, Рембате — танковый полк с мотострелковым батальоном 23-й танковой дивизии.
Потери 12-го механизированного корпуса к 29 июня 1941 г. достигли 80%.
Корпус 29 июня получил задачу оборонять полосу по реке Западная Двина шириной около 40 км, имея при этом около 9 тысяч человек личного состава, 50 танков и 47 орудий. Понятно, что оборона корпуса характеризовалась низкой плотностью по людям, танкам и артиллерии из расчета на один километр фронта.
В район Крустпилса была выдвинута 202-я моторизованная дивизия, на рубеж Коакнес, Плявинас — 28-я танковая дивизия из Риги. В резерве, в местечке Эргли сосредотачивалась 23-я танковая дивизия с 30-ю танками. Часть дивизии по-прежнему оставалась в полосе 10-го стрелкового корпуса.
30 июня 1941 г. немецкая 36-я моторизованная дивизия форсировала Западную Двину и прорвала линию не успевшей занять оборону 202-й мотодивизии. В районе Крустпилса образовался новый крупный плацдарм немецких войск, нацеленных на Псков.
Военный совет 8-й армии решил ликвидировать плацдарм в районе Крустпилса силами 202-й моторизованной и 28-й танковой дивизий, которые были подчинены из-за отсутствия штаба 12-го механизированного корпуса командиру 65-го стрелкового корпуса генерал-майору К.В. Комиссарову. В 16 часов он получил приказ: уничтожить переправившегося противника и переправы взорвать. Но выполнить эту задачу генерал Комиссаров не смог, так как ему не удалось собрать отошедшие в разные районы части 12-го механизированного корпуса. 28-я танковая дивизия в течение 30 июня и 1 июля отбивала неоднократные попытки противника переправиться через Двину на своём участке.
По плану командира 202-й моторизованной дивизии полковника В.К. Горбачёва, разработанному его штабом во главе с подполковником П.Ф. Батицким, удар по Екабпилсу наносился вдоль северо-восточного берега Западной Двины, а командир подходившей к реке 181-й стрелковой дивизии полковник П.В. Борисов решил нанести удар в юго-восточном направлении. Однако все атаки наших частей и подразделений к желаемым результатам не привели.
Противник 1 июля начал распространяться на Мадоны, Резекне и Псков.
Двое суток удерживала свои позиции в районе Гулбене 202-я дивизия. 645-й мотострелковый полк попал в полуокружение, так как его фланги были обойдены немецкой мотопехотой, не сумевшей с ходу овладеть городом. Далее, маневрируя, дивизия отходила по маршруту Остров — Порхов — Дно.