Gdańszczanie przygotowali się do walki starannie, powołując pod broń milicję i zaciągając za granicą 5 tys. żołnierzy. Miasto posiadało nowoczesne fortyfikacje bastionowe, a jedynym słabym punktem jego obrony była wschodnia część miasta, gdzie znajdował się jedynie kamienny wał przeciwpowodziowy. Przybór wody w Wiśle pozwolił Gdańszczanom na otwarcie śluz i zalanie Żuław, dzięki czemu Szwedzi przez kilka tygodni nie mieli dostępu do miasta. Ponadto wojska gdańskie z pomocą oddziałów koronnych zablokowały Szwedom wyjście z Tczewa i Gniewa oraz zabezpieczyły przeprawy przez Wisłę. Szwedzka ofensywa została na pewien czas zahamowana.
Sytuacja polityczna zaatakowanej Korony Rzeczpospolita nie była przygotowana na tak poważną wojnę. Sejm co prawda uchwalił duże podatki, jednak znaczna ich część poszła na spłatę zaległego żołdu i w tej sytuacji konieczna była nawet redukcja liczebna wojska. W sumie armia koronna w chwili szwedzkiego ataku na Pomorze liczyła 34,6 tys. żołnierzy (w tym 18,6 tys. wojsk zaciężnych, 10 tys. wojsk kwarcianych i 6 tys. Kozaków rejestrowych). Z powodu ciągłego zagrożenia tatarskiego (kilkakrotnie atakująca ziemie ukraińskie orda tatarska pobita została pod Białą Cerkwią) znaczna część tych sił stacjonowała na Ukrainie.