W sierpniu pod Krakowem stanęła armia cesarska (17–18 tys. żołnierzy) pod dowództwem feldmarszałka Melchiora von Hatzfeldta, wspierając wojska polskie. 4 sierpnia 1657 roku wojska królewsko-cesarskie szykowały się do szturmu, gdy nadszedł rozkaz od księcia Rakoczego, oblężonego w tym czasie przez siły tatarsko-polskie, nakazujący Węgrom pod rozkazami Jana Bethlena oddanie Krakowa. Po kapitulacji wojsk siedmiogrodzkich wojska koronne 7 sierpnia weszły do Lwowa, skąd po krótkim odpoczynku dywizje Lubomirskiego i Czarnieckiego ruszyły pod Kraków, by wspomóc oblegającą miasto armię cesarską.
Osamotniony szwedzki garnizon gen. Pawła Wirtza skapitulował dopiero dnia 25 sierpnia na honorowych warunkach, co zakończyło oblężenie Krakowa. Garnizon twierdzy zgodnie z zawartą umową opuścił Kraków pięć dni po podpisaniu kapitulacji, a w uroczystości uczestniczył król Polski Jan Kazimierz.
4 września Jan Kazimierz uroczyście wjechał na Wawel, lecz całe miasto było wyniszczone w wyniku 2-letniej okupacji.