Ostromágyúk Komáromból
A fővezér Görgey Komáromból öt nehéz ostromágyút hozatott a szükséges lőszerekkel, s május 12-én megindult a módszeres ostrom. A réstörésre kijelölt várfalszakasznál a hadsereg tüzérparancsnoka, Psotta Móric alezredes irányításával megkezdődött a réstörő és az ezt fedező ún. leszerelő ütegek helyének előkészítése. Fedezéket készítettek a tábori ütegeknek is, közben pedig időről időre lőtték a várat, hogy eltereljék a védők figyelmét, ez volt a célja a gyalogság látszattámadásainak is. A szorongatott Hentzi - noha katonailag ezt semmi sem indokolta, inkább a megfélemlítés céljával - nehézágyúival több alkalommal is kíméletlenül bombáztatta Pestet. A céltalan rombolásnak békés polgárok mellett a reformkor építészetének büszkesége, a pesti Duna-sor is áldozatul esett, negyven épület teljesen leégett.
A magyar ostromágyúk május 16-án reggel szólaltak meg, s estére a várfal nyugati és délnyugati részén, a Fejérvári kapu környékén hatalmas rések keletkeztek. Másnap hajnalban az I. és a III. hadtest, valamint Kmetty hadosztálya általános támadásra indult, de a még túl magasan levő résen át a honvédek nem tudtak behatolni a várba, így tovább lőtték a várfalat.
Az utolsó roham
A döntő roham május 21-én hajnalban kezdődött. Az I. hadtest csapatai a várfal Krisztinaváros felőli szakasza ellen indultak támadásra, a III. a Bécsi kaput és a Vérmező felé eső sarokbástyát, míg a Kmetty-hadosztály a vízivárosi vízmű sáncait vette ostrom alá. A golyózápor közepette legelőször az I. hadtest csapatai jutottak be a várba, a Szent György térrel szemközti, viszonylag alacsony falakat egy önkéntesekből álló század mászta meg. Utánuk a 47. honvédzászlóalj katonái is benyomultak a Várkertbe, s az itt álló olasz Ceccopieri-zászlóalj letette a fegyvert, a magyar zászlót először a zászlóalj egyik honvédje, Püspöky Gracián tűzte ki a várfalra. A támadás visszaverésére egy zászlóalj élén maga Hentzi indult, de az őket fogadó sortűzben haslövést kapott, katonáit szuronyroham vetette vissza.