Все лето шведский флот блокировал Гданьск. Осенью большинство кораблей ушло, в Гданьской бухте осталось только 12, из которых 6 базировались на Пиллау. Эскадра же вице-адмирала Нильса Гёрансона Шерншёльда в составе 5 галеонов и 1 пинаса (галеоны 22-пушечный «Тигерн», 38-пушечный «Солен», 20-пушечный «Пеликанен», 26-пушечный «Манен», 18-пушечный «Энхоринген» и 16-пушечный пинас «Папегойан») блокировала Гданьск. В этой ситуации уже в середине ноября королевская корабельная комиссия Сигизмунда III приняла решение вывести корабли в море и прорвать шведскую блокаду. Это решение было продиктовано торговыми интересами Гданьска, который в случае удаления шведских кораблей из своих вод мог в течение нескольких недель отправить в западноевропейские порты скопившиеся на складах товары. Решение о выходе в море было принято 23 ноября, а его осуществление назначено на 26-е. 26 ноября польская эскадра в составе 4 галеонов (31-пушечного «Рыцарь Святы Ержи», 20-пушечного «Лятачи Елен», 17-пушечного «Водник», 31-пушечного «Круль Давид»), а также 6 флейтов и пинасов (12-пушечного приватира «Панна Водна», 16-пушечного зафрахтованного «Кражни Крук», 10-пушечного «Злоти Лев», 16-пушечного «Арка Ноего», 8-пушечного «Бялы Лев» и 18-пушечного «Пломен») под общим командованием голландского купца Аренда Дикмана вышла во внешнюю гавань. Шведы не подозревали об этом выходе и весь день пробыли у Геля. 28 ноября, когда ветер изменился на юго-восточный, а выход польских кораблей стал возможным, шведы вернулись к Гданьску, не ожидая там встретить противника на рейде. В авангарде их эскадры шли флагманский корабль «Тигерн» вице-адмирала Шерншёльда и «Пеликанен» под командованием его заместителя капитан Фритцема. Остальные 4 корабля («Солен», «Энхоринген», «Манен» и «Папегойан») имели трудности с лавированием против встречного ветра и поэтому отстали. Заметив это, адмирал Дикман (датчанин; впрочем, на этих «польских» кораблях все экипажи были датские) пушечным выстрелом дал сигнал к атаке. Польские корабли вступили в бой в ордере роя двумя эскадрами по 5 кораблей. В первую из них входили галеоны «Рыцарь Светы Ержи» и «Лятачи Елен», пинки «Панна Водна» и «Злоти Лев» вместе с флейтом «Кражни Крук». В соответствии с тактикой роя головным шел самый из них – «Рыцарь Светы Ержи», за ним пинки и «Злоти Лев»; замыкал строй флейт. Во главе второй эскадры шел галеон «Водник», за ним – пинк «Арка Ноего», слева – галеон «Круль Давид», справа – флейт «Бялы Лев», замыкающий – флейт «Пломен». Польские корабли, пользуясь попутным ветром, шли наперерез курсу шведского авангарда и, сблизившись, первыми открыли артиллерийский огонь, навязывая противнику выгодные для себя условия боя. Строй польских кораблей был сомкнутый, а их небольшое количество позволяло лучше вступать в бой.
Шёрншельд, очевидно, не рассчитывал на атаку поляков, но при сближении изменил курс на северо-восточный, чтобы, идя в полветра, иметь лучшую возможность для маневрирования. Это не уберегло его от атаки. Возглавлявший польскую эскадру «Рыцарь Светы Ержи» первым вступил в бой, обстреливая шведский адмиральский корабль из носовых орудий и одновременно стремясь взять его на абордаж. «Тигерн» оказался под огнем, но пытался ответным огнем и маневрированием избежать абордажного боя. Маневры не помогли. После недолгой перестрелки «Рыцарь Светы Ержи» сумел приблизиться к борту противника. В этот момент был смертельно ранен вице-адмирал Шёрншельд, что сказалось на дальнейшем ходе сражения, так как никто не управлял действиями кораблей. Тогда же на помощь флагману пришел пинк «Панна Водна», который атаковал шведский адмиральский корабль с кормы. По носу последнего маневрировал галеон «Лятачи Елен» под командованием капитана Эллерта Аппельманна, готового перехватить его в случае попытки бегства или вступить в бой со спешащими на помощь другими шведскими кораблями.
Другая польская эскадра ударила по другому флагманскому кораблю «Пеликанен», но тот избежал абордажа. К нему пробовал приблизиться «Круль Давид», но все закончилось обменом пушечными залпами. Удачнее действовал «Водник», который после перестрелки все же сошелся с галеоном «Солен». На помощь ему поспешил и флейт «Бялы Лев». Атакованный двумя противниками шведский корабль оказался в безвыходной ситуации, поэтому кто-то из офицеров поручил взорвать его. Это был последний этап битвы, так как в это время экипажи кораблей первой эскадры взяли шведский флагманский корабль «Тигерн», заплатив за этот успех смертью своего командующего, адмирала Дикмана. Остальные шведские корабли стали уходить с рейда Гданьска, направляясь в открытое море. За ними в погоню устремились галеон «Лятачи Елен», пинки «Арка Ноего», «Панна Водна» и «Злоти Лев» вместе с флейтами «Кражни Крук» и «Бялы Лев». Погоня длилась недолго. У Гельской косы первым отвернул «Панна Водна», сделав вдогонку шведам три выстрела. Остальные корабли приняли это за сигнал к повороту назад и тоже прекратили погоню.