На следующий день под прикрытием темноты и утреннего тумана адмирал Аренд Дикманн вывел свой флот на бой. Два года этот опытный голландский моряк вынужден был выступать в унизительной роли вечного беглеца. Теперь пришел час расплаты. Главными целями стали два шведских корабля: флагманский «Тигерн», стоявший на якоре ближе всего к крепости, и 20-пушечный «Сулен». На польские корабли были взяты солдаты морской пехоты: адмирал Дикманн рассчитывал победить противника в абордажном бою.
Два польских корабля — «Риттер Санкт Георг» и «Меервейб» пошли на «Тигерн», а «Меерманн» взял курс на «Сулен». В грохоте орудийной пальбы корабли сблизились, на палубы полетели абордажные крючья. Два адмирала, Дикманн и Стьерншёльд, вели себя геройски. Дикманн лично вел вперед польскую абордажную команду, а Стьерншёльд, вращая над головой мечом, стоял на актеркасле и руководил обороной.
Но в рукопашном бою ослабленные болезнями и недоеданием шведы не могли сражаться на равных со здоровыми и отдохнувшими на берегу польскими солдатами.
Шведские экипажи, не ожидавшие боя, были лишены даже пива, представлявшегося универсальным средством не только для борьбы с болезнями, но и для поддержания высокого боевого духа. «Чтобы эти молодые люди, сухопутные и моряки, стали смелее и мужественнее, следует давать им перед сражением две бочки лучшего пива, и я приказываю поэтому держать в запасе на каждом корабле по две бочки, затем следует их призвать к мужеству и напомнить об их долге перед верой, королем и Шведским государством, который они должны исполнять до самой смерти», — гласила инструкция, составленная адмиралом Хенриком Флемингом 10 сентября 1628 года для кораблей, отправлявшихся на патрулирование к Данцигу, через год после описываемого сражения.
Офицеры должны были следить за тем, чтобы никто не пытался спрятаться во время боя — таких ждала смерть — а убитых следовало быстро убирать с глаз долой, чтобы не подрывать боевой дух оставшихся в живых. «А если кто-то из наших по Божьей воле погибнет, нужно немедленно бросить его тело в сторону и накрыть старым парусом, если, конечно, нет возможности скинуть труп вниз на балласт, дабы мертвое тело не лежало под ногами у живых и не пугало их, как это случается с чувствительной молодежью», — предписывал адмирал Флеминг в своей инструкции.
Если же исход схватки был предрешен, и все офицеры на борту были убиты, то адмирал Флеминг предполагал, что на борту найдется «какой-нибудь честный и верный швед», который подожжет пороховой погреб и взорвет корабль.
Бой на «Тигерне» как раз приближался к такому трагическому завершению. Погиб капитан «Тигерна» шотландец Симон Стюарт, которому пуля попала в горло. Опустела высокая кормовая надстройка, где сверкающий меч адмирала Стьерншёльда в начале сражения придавал мужество защитникам «Тигерна». Адмиралу ядром оторвало руку, и его, умирающего от потери крови, отнесли с боевого поста в каюту, где он еще успел принять причастие и отдать команду о взрыве корабля. Но пуля настигла матроса, пробиравшегося по залитой кровью палубе с пылающим запалом в руке к пороховому погребу. Неожиданно пополз вниз флаг на актеркасле, что означало капитуляцию. «Тигерн» стал польским трофеем. Но адмиралу Дикманну не довелось пережить триумфа: его убило выстрелом с шедшего на помощь «Тигерну» «Пеликанена».
К концу подходила и вторая схватка, развернувшаяся на «Сулене». Вот-вот и второй шведский корабль, в который абордажными крючьями вцепился польский «Меерманн», должен был спустить флаг. И капитан, и большая часть экипажа «Сулена» погибли в бою. Но внезапно участники сражения с других кораблей стали свидетелями странной картины: на «Меерманне» принялись лихорадочно обрубать тросы абордажных крючьев, а с палубы «Сулена» в воду начали прыгать люди. Через несколько секунд раздался страшный взрыв. Шкипер «Сулена» выполнил инструкцию и взорвал свой корабль.
Вместе с «Суленом» на дно ушли несколько десятков шведских моряков и 22 солдата польской морской пехоты, не успевших перебраться на борт «Меерманна». 32 шведа спаслись, перепрыгнув в последний момент на польский корабль. Еще четырнадцать шведских моряков поляки выловили из воды.
Поражение шведов в битве было полным.
Четыре оставшихся шведских корабля, не решаясь продолжить бой, пустились в бегство в Пиллау. Польские корабли бросились в погоню, но не сумели их догнать. Поляки с триумфом привели «Тигерн» в Данциг. По улицам города за гробом адмирала Дикманна шли закованные в кандалы шведские пленники.