Русские двигались тремя колоннами, четвертая осталась в резерве. Английские корветы, прибывшие в то же время, должны были подняться по Висле, уничтожить мосты, если они обнаружатся, обстрелять французские укрепления с фланга и содействовать движению русских огнем шестидесяти орудий крупного калибра. Но ветер не благоприятствовал такой диспозиции, и корветы вынужденно остановились в устье Вислы.
Русские колонны энергично атаковали позиции французов. Солдаты, укрывшись за земляными укреплениями, хладнокровно поджидали их, а затем обстреляли с близкого расстояния. Русских это не поколебало, они подступили к редутам, но не смогли их перейти. Отбивая атаки, французские солдаты выпрыгивали из укреплений и теснили русских со штыками наперевес. Колонна, направившаяся к засекам, столкнувшись с менее мощными препятствиями, пыталась проникнуть в лес, была остановлена, как и первая, но возобновила атаку и развязала с французами рукопашный бой. Борьба тут оказалась долгой и упорной. Кавалерийская колонна, которой назначалось двигаться вдоль моря, наблюдала за кавалерией французов, не совершая никаких серьезных движений. Бой длился уже несколько часов, войска были изнурены и в конце концов не выстояли бы перед повторными атаками русских, если бы не подоспели на помощь батальон Парижской гвардии и батальон 12-го легкого из штаб-квартиры. Русские были отброшены к гласисам форта Вайхзельмюнде.
Между тем генерал Каменский получил приказ во что бы то ни стало оказать помощь Данцигу. Поэтому он не стал запираться в форте, подтянул резерв, который еще не принимал участия в действиях, и снова двинулся на укрепления противника. Но было слишком поздно. Маршал Ланн и генерал Удино подвели подкрепление из четырех гренадерских батальонов. Для завершения боя хватило и одного из них. Удино атаковал русских, вновь оттеснил их штыками к гласисам Вайхзельмюнде и вынудил окончательно там запереться. Этот бой стал последним.
Русские оставили на поле боя две тысячи человек, большей частью убитыми и ранеными и немного – пленными. Потери французов составили триста человек.
С этой минуты маршалу Лефевру не о чем было беспокоиться, а маршалу Калькрейту – не на что надеяться. Между тем командиры корветов, присланных в помощь Данцигу из Англии, пытались исполнить полученные инструкции. Крепость более всего нуждалась в боеприпасах, и капитан «Даунтлесса» решил воспользоваться северным ветром и подняться по Висле. Но едва он миновал форт Вайхзельмюнде и подошел к французским редутам, его настиг жестокий артиллерийский огонь. Французы вышли из укреплений и, присоединив ружейный огонь к пушечному, довели корвет до такого состояния, что он потерял способность к управлению, сел на мель и вынужден был сдаться. Он вез большое количество пороха и депеши для маршала Калькрейта.
Крепость оказалась полностью предоставленной самой себе. К несчастью, осадные операции с каждой минутой становились всё более трудными. Французы разместились на краю рва и попытались в него спуститься, но беспрерывные обрушения почвы и множество бомб, которыми неприятель забрасывал траншеи, весьма замедляли и затрудняли подкопные работы. Между тем нужно было, чего бы это ни стоило, добраться до дна рва с топорами в руках и срубить широкий частокол, чтобы открыть дорогу атакующим колоннам. В ров начали спускаться по крытым проходам, то есть продвигаясь под каркасами, покрытыми землей и гатью.
Когда удалось попасть на дно рва, солдаты инженерной части под огнем из крепости срубили несколько бревен. Им надобилось полчаса, чтобы уничтожить три бревна. Операция обещала стать долгой и смертельно опасной. Не щадящие себя войска добрались до дна рва равелина и до дна рва бастиона, где были вынуждены, ввиду тесноты пространства, и трудиться, и самостоятельно оборонять подкопы от вылазок из крепости. Наконец перед левым бастионом им удалось, посредством поджога гатей, взрывания мешков с порохом, а то и просто с помощью топоров, уничтожить частокол на ширину девяноста футов, достаточную для прохода штурмовых колонн.
Этой минуты с нетерпением ожидали все войска. Штурм назначили на вечер 21 мая. Четыре тысячи французских солдат были последовательно заведены в ров к подножию земляного откоса, возвышавшегося за частоколом, дабы заранее рассмотреть укрепление, на которое им предстояло взобраться.