22 июня 1941 года в направлении на город Лиепаю Латвийской ССР начала наступление немецкая 291-я пехотная дивизия, которая включала в себя 504-й, 505-й и 506-й пехотные полки. Дивизии были приданы два батальона морской пехоты, артиллерия, авиация и бронепоезд. Общая численность группировки составляла 20 тысяч человек. К началу войны в Лиепае базировалась Либавская военно-морская база Балтийского флота с численностью личного состава в 4 тысячи человек. На ее вооружении находилось 18 катеров, эсминец и 15 подводных лодок, две батареи 130-мм орудий, четыре 180-мм железнодорожных орудия, два артиллерийско-зенитных дивизиона, авиационная штурмовая дивизия и истребительный полк. Кроме того, в городе дислоцировалась 67-я стрелковая дивизия мирного комплектования — 5,3 тысячи человек. Общее число защитников города составляло 10-11 тысяч человек.
Карта-схема обороны Лиепаи 22-29 июня 1941 г.
В 3 часа 55 минут 22 июня состоялся первый авианалёт Люфтваффе на Лиепаю. Бомбы были сброшены на военно-морскую базу, стоянки кораблей, а также аэродром. Объекты флота были прикрыты зенитными артдивизионами и пострадали немного, но на аэродроме были уничтожены 8 истребителей. Всего в первый день войны немецкая авиация совершила 15 авианалётов на Лиепаю, в которых участвовало до 135 самолётов (3 из них были сбиты).
На суше в 4 часа утра к югу от Лиепаи немецкими войсками был нанесён артиллерийский удар, после которого они с боем перешли государственную границу. Подразделения 10-й стрелковой дивизии, прикрывавшие границу, в панике начали отход к Елгаве. Путь на Лиепаю противнику оказался открыт. Командование базы начало развёртывание боевых подразделений, город стали спешно готовить к круговой обороне. Для предотвращения нападения со стороны Балтийского моря были высланы в дозор четыре подводные лодки. Следом за подлодками в разведку отправились торпедные катера. Вышел из гавани и базовый тральщик «Фугас», который в течение 22-23 июня установил в 10 километрах от суши 206 якорных мин. Незадолго до подхода немецких войск из Лиепаи успели отправить по железной дороге эшелон с семьями военнослужащих и 180-мм железнодорожную батарею. К вечеру на аэродром в Риге перелетело 27 самолётов истребительного полка.
Вечером 22 июня первые немецкие части достигли у Руцавы внешнего обвода обороны Лиепаи по реке Барта, в 17 км южнее города, где вступили в бой с пограничным отрядом и разведбатом 67-й стрелковой дивизии. Утром 23 июня немецкие войска неудачно атаковали город с южной стороны вдоль побережья Балтийского моря. .Вторую попытку немцы предприняли с юго-восточного направления, где к концу дня взяли пригородный поселок. Дальше начался непрерывный артиллерийский обстрел и воздушные бомбардировки. В ночь с 23 на 24 июня 1941 года две 130-мм батареи береговой обороны уничтожили артиллерийские батареи противника, тем самым снизив интенсивность обстрела. Под конец дня 24 июня защитники города предприняли контратаку, в результате которой передовые части немцев, прорвавшиеся на востоке в пригород, были отброшены. В этом же бою был уничтожен немецкий бронепоезд.
26 июня 1941 года Красной Армии было приказано выходить из окружения. Выходили двумя колоннами, прорвав немецкую оборону. Значительная часть выходивших бойцов погибла, оставшиеся в живых участвовали в обороне Риги. В госпитале Лиепаи находилось более 2000 раненых. Часть их и семьи военнослужащих эвакуировали на санитарном судне «Виениба», однако, в море оно было атаковано немецкими самолетами и потоплено. Город остались защищать только ополченцы. 28 июня начался штурм города, который перерос в уличные бои, продолжавшиеся до вечера 29 июня.
Поврежденное 130-мм орудие защитников Лиепаи.
Город после боев.
В результате боев, погибло боле 700 красноармейцев, без учета утонувших во время эвакуации. Около 300 человек погибло из рабочих батальонов города во время уличных боев. Немецкие потери составили около 700 убитых и раненных. В ходе обороны города в Лиепае было полностью разрушено 117 зданий и частично ещё 450. Несмотря на то, что город Лиепая и военно-морская база не имели стратегического значения, их оборона могла бы продолжаться несколько месяцев, оттягивая силы немцев и затрудняя их судоходство. Уход защитников с Лиепаи, открыл череду позорных сдач Военно-морским флотом военно-морских баз и городов на протяжении двух лет, показав полную несостоятельность высшего морского командования.