Вечером 15 июля из порта Кенигсберг вышел конвой в составе 8 транспортов и 16 десантных паромов общим водоизмещением 27 тысяч тонн. Груз составляли боеприпасы, запчасти, горючее и продовольствие для 4-ой танковой группы. В охранение конвоя входили восемь тральщиков, два эсминца, шесть миноносцев и 15 катеров. Ближнее прикрытие конвоя осуществляли легкие крейсера «Эмден» и «Лейпциг» в сопровождении двух эсминцев, шести катеров и четырех тральщиков. На случай появления линейных кораблей Балтфлота в отдалении конвой сопровождали тяжелые крейсера «Лютцов» и «Адмирал Шеер» с четырьмя эскадренными миноносцами.
По плану немецкого командования, тяжелые крейсера должны были подойти к устью Финского залива и воспрепятствовать выходу из него тяжелых кораблей Балтийского флота. Легкие крейсера имели задачей прикрытие конвоя от атак советских эсминцев, дислоцированных в портах Рижского залива. Воздушное прикрытие конвоя возлагалось на 1-й и 5-й воздушные флоты.
Согласно плану действий Балтфлота в поддержку операции «Нептун» командование КБФ разместило в Рижском заливе следующие силы флота: в порту Куресаре на острове Саремаа — дивизион эскадренных миноносцев из 7 кораблей, в порту Виртсу — дивизион из 7 сторожевых кораблей, в порту Мынту на полуострове Сырве в узости Ирбенского пролива — бригаду торпедных катеров, в порту Куйвасту на острове Муху — два дивизиона малых подводных лодок из 11 единиц. На траверсе Лиепаи, поперек всего Балтийского моря был развернут постоянно действующий дозор из 9 подводных лодок типа «С».
На островах Моонзундского архипелага размещалась смешанная авиадивизия в составе двух штурмовых, двух истребительных и одного бомбардировочного полка флотской авиации. Командование КБФ и наркомат ВМФ сумели уберечь флотскую авиацию от использования против наземного противника во время сражения у Саласпилса, на чем настаивало руководство Прибалтийского фронта. Наркому ВМФ Н. Г. Кузнецову пришлось, даже, обращаться по этому поводу к Верховному Главнокомандующему. Благодаря этому, к середине июля авиация КБФ сохранила почти штатный состав.
Утром 16 июля подводная лодка С-3 обнаружила отряд тяжелых крейсеров в сопровождении миноносцев, о чем сообщила в штаб КБФ. Лодка дала четырехторпедный залп с большого расстояния, но попаданий не достигла. Двумя часами позже подводная лодка С-1 засекла конвой и силы ближнего прикрытия. Командующий КБФ вице-адмирал В. Ф. Трибуц сделал вывод, что конвой будет у входа в Рижский залив около 24–00 и попытается пройти Ирбенский пролив ночью.
В полдень, после дополнительной авиаразведки, отряд тяжелых крейсеров был атакован бомбардировщиками морского полка, поднятыми с аэродрома Кярдла на острове Хиума. Полк потерял два самолета, но не смог поразить корабли. В 20–40 в 70 км от входа в Ирбенский пролив конвой одновременно атаковали два полка штурмовиков с аэродромов острова Сарема. Истребители сопровождения связали боем эскадрилью Ме-110, прикрывавшую конвой. Две эскадрильи штурмовиков атаковали с пикирования РС-ами и бомбами корабли охранения, отвлекая на себя огонь зенитных средств, а две эскадрильи ударили по транспортам. Атака штурмовых полков была более успешной: потоплен один миноносец и два десантных парома, потоплен один и серьезно повреждены два транспорта. Повторить атаку до темноты штурмовики не успели. Наши потери составили 6 самолетов.
Получив подтверждение от авиаразведки о подходе конвоя, командование флота вывело на позиции вблизи Пярну два дивизиона подлодок типа «М», эсминцы и сторожевые корабли заняли позиции у выхода из Ирбенского пролива в Рижский залив. Торпедные катера должны были атаковать конвой ночью в проливе в момент прохождения через минные поля. Все силы авиации флота были готовы атаковать противника с утра в Рижском заливе.
Корабли прикрытия конвоя вошли в Ирбенский пролив в 0 часов 10 минут 17 июля. Маршрут был проложен в шести-семи километрах от занятого немецкими войсками западного берега. В голове кильватерной колонны крейсеров и эсминцев строем пеленга следовали 4 тральщика, за ними, также строем пеленга — катера, которые должны были расстреливать подсеченные тралами мины. Через 15 минут по протраленному фарватеру в пролив длинной колонной втянулся и конвой. Транспорта и десантные паромы шли за тральщиками и катерами двумя параллельными колоннами. Миноносцы следовали в колоннах среди транспортов и паромов. Эсминцы замыкали колонны.
При прохождении четырнадцати линий мин, перекрывавших пролив, подорвались и затонули один тральщик, два катера, один транспорт и два десантных парома. Немецкие корабли, подсвеченные светом горевшего транспорта, который довольно долго держался на плаву после подрыва, были атакованы из темноты торпедными катерами. Малая осадка катеров позволяла им не опасаться мин, установленных для подрыва более крупных кораблей. Катерникам удалось торпедировать один транспорт и один тральщик. Ответным артиллерийским огнем были потоплены три катера.
На рассвете, когда конвой отошел от узости Ирбенского пролива на 30 км, в бой вступили эсминцы и сторожевые корабли. Дивизион эсминцев атаковал корабли эскорта. Немецкий эскорт имел значительное преимущество в артиллерии над нашими эсминцами. Против 18 орудий калибра 150 мм и 20 — калибра 128 мм на немецких кораблях, наши эсминцы имели 28 орудий калибра 130 мм. Немецкие легкие крейсера, в отличие от наших эсминцев, имели серьезное бронирование.
Когда немецкий эскорт отвлекся на бой с нашими эсминцами, дивизион сторожевых кораблей атаковал конвой. Немецкие корабли непосредственного сопровождения конвоя также имели значительное превосходство в артиллерии над нашими сторожевиками. Против 10 орудий калибра 128 мм и 19 орудий калибра 105 мм, наши имели всего 14 орудий калибра 102 мм. Поэтому артиллерийский бой, проходивший на дистанции 80-100 кабельтовых, сложился не в пользу наших кораблей. У нас были серьезно повреждены эсминец «Смелый» и два сторожевика, которые вышли из боя. Остальные корабли остались в строю, хотя и получили повреждения. После двадцатиминутного артиллерийского боя командующий нашими кораблями контр-адмирал Дрозд отдал приказ отступить. Эсминцы и сторожевики разорвали дистанцию, оставаясь в виду конвоя.
Затем, в дело вступила авиация КБФ. Полк торпедоносцев Ил-4Т атаковал соединение прикрытия в 40 километрах северо-западнее острова Хиума. Мощный зенитный огонь соединения, имевшей 12 орудий калибра 88 мм, 32 автомата калибра 37 мм и 16 автоматов 20-миллиметрового калибра, не позволил торпедоносцам добиться успеха. Наши потери составили 3 самолета.
Два полка штурмовиков с острова Сарема и два полка с латвийских аэродромов последовательно атаковали корабли эскорта. Две эскадрильи истребительного прикрытия немецкой эскадры не смогли оказать сопротивления восьми нашим истребительным эскадрильям штурмовых полков и были почти полностью уничтожены. Первым заходом штурмовики залпами РС-ов и огнем курсовых пулеметов расстреливали зенитные орудия и выбивали их расчеты. Каждый из немецких кораблей получил множество попаданий. На кораблях отмечены многочисленные пожары. Вторым заходом проводилось бомбометание с пикирования. Было отмечено не менее 8 попаданий по кораблям. В итоге было потоплены тральщик, десантный паром, пять катеров и миноносец. Еще один тральщик потерял ход, отстал от эскадры и был добит нашими эсминцами. Штурмовые полки потеряли 11 самолетов.
Затем конвой атаковали два полка флотских бомбардировщиков в сопровождении двух полков истребителей. Бомбометание проводилось с высоты 3000 метров, чтобы исключить воздействие малокалиберной зенитной артиллерии и пулеметов, в большом количестве установленных на десантных паромах и транспортах. Подошедшие от западного берега Рижского залива 26 немецких истребителей были перехвачены нашими истребителями и не смогли помешать прицельному бомбометанию. Сброс бомб эскадрильными залпами не позволял кораблям маневрированием уклоняться от бомб. Бомбардировщики потопили один транспорт, три десантных парома, два тральщика и один миноносец. Наши потеряли 14 самолетов.