Ожесточённый бой продолжался 4 часа. Были уничтожены 3 тяжёлых и 14 противотанковых орудий, до двух батальонов пехоты, было захвачено 6 тяжёлых и 24 противотанковых орудий, несколько танков, большое количество пленных, нарушено организованное движение немцев по шоссе. В ходе утренней атаки дивизия также понесла тяжёлые потери. 48 танков остались подбитыми на поле боя. Погибли командир 55-го танкового полка майор С.Ф. Онищук, командиры танковых батальонов майор Ф.Г. Александров и капитан И.В. Иволгин, помощник командира дивизии по технической части подполковник Соболев.
Всего в тот день (к 15 часам) дивизия лишилась 84 танков.
К 15 часам остатки дивизии (в составе 40 танков, штаб дивизии, разведывательный батальон, остатки 55-го и 56-го танковых полков) сосредоточились в районе сбора в лесу северо-восточнее Пашили.
23-я танковая дивизия также участвовала в контрударе и понесла тяжёлые потери. Известно, что только 144-й танковый (46-й) полк оставил на поле боя около 60 процентов боевых машин.
Пока шло ожесточённое танковое сражение под Шяуляем, стрелковые и артиллерийские части 8-й армии с 25 июня начали организованный отход за реку Вента по линии Мажейкяй — Радвилишкис. Отход 11-го стрелкового корпуса прикрывала 202-я моторизованная дивизия. В это же время 23-я танковая дивизия прикрывала отход соединений 10-го стрелкового корпуса. После занятия армией этого рубежа части 12-го мехкорпуса собирались за боевыми порядками пехоты в районе Мяжкуйчай. Восточнее сосредотачивалась 28-я танковая дивизия. Но корпус недолго находился в этом районе. Противник легко обошёл открытый правый фланг армии и устремился на Ригу. 27 июня командир 23-й танковой дивизии получил приказ о немедленном отводе частей через Елгаву на Ригу. 28-я танковая дивизия получила приказ прикрыть отход основных сил армии.
В течение 27 июня 28-я танковая дивизия занимала оборону по берегу реки Муша на участке Вайды — Памуша. К вечеру противник обошёл правый фланг дивизии, одновременно усилил обстрел с фронта артиллерией. В ходе боя танкисты дивизии подбили 6 танков и уничтожили два орудия противника. Потери дивизии составили 8 танков. Погибли батальонный комиссар Шалаев и командир 28-го разведывательного батальона майор Швейкин. Пропал без вести начальник штаба соединения подполковник Маркелов.
Оперативная группа штаба корпуса, никого не поставив в известность, перешла в новый район, в лес южнее Борисели. Командование и штаб корпуса в первой половине дня 28 июня не знали обстановки на фронте, вынуждены были бездействовать, ожидая, пока восстановится связь с соединениями. Противнику удалось окружить в районе Борисены (севернее Шяуляя) командный пункт 12-го механизированного корпуса. Во второй половине дня в лесу, где разместилось управление корпуса, послышались звуки разрывов снарядов и рёв моторов вражеских танков. Вскоре на КП корпуса объявили боевую тревогу. Все, кто был в штабе, заняли оборону. Генерал Шестопалов лично из снайперской винтовки уничтожил более десяти гитлеровцев. В конце концов, не прорвавшись к окопу, где оборонялся Шестопалов со своими штабистами, немцы решили уничтожить миномётным огнём последних защитников командного пункта.
В бою при прорыве кольца окружения погибли комиссар корпуса бригадный комиссар П.С. Лебедев, начальник штаба полковник П.И. Калиниченко, начальник медслужбы бригадный врач И.И. Скачков, секретарь парткомиссии старший политрук Н.Е. Марченко, помощник начальника оперативного отдела майор В.В. Высокоостровский, председатель военного трибунала военный юрист 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 июля отбивала неоднократные попытки противника переправиться через Двину на своём участке.