6月15日,八縱從赤倉、陳留地區,以2天行程,於16日晚完成對開封以西、以南包圍;三縱也從杞縣、高陽等地出發,以2天行程,於16日晚完成對開封以東、以北包圍。17日晨穾然兵臨城下,攻城戰鬥開始了。三縱一部配合八縱,首先肅清南關車站的農業試驗場、東閘口、十六營房、七營房等以西區域及西門外之蔣軍,爾後由東麵、北麵實施攻城。八縱首先肅清南關車站之飛機場、十七營房、七營房等以西區域及西門外之蔣軍,爾後由南麵、西麵實施攻城。17日晚,三縱一部首先消滅了城外之敵,按預定方案搶占了宋門關,控製了攻城陣地。八縱也同時占領了南門外的飛機場和火車站。18日晚以前,各關守敵都被迫退入城,四關遂為攻城部隊占領。為使蔣軍不有喘息機會,於當夜11時向各城門發起了總攻。夜幕籠罩的開封城,彈雨橫飛,炮火轟鳴。八縱六十九團三營在炮火掩護下,連續爆破,結合突擊,5分鍾就突破了南門,控製了南門陣地。三縱也接著攻克了宋門,並打退蔣軍多次反衝鋒,鞏固了突破口,後續部隊緊隨入城。小南門、宋門丟失後,劉茂恩、李仲辛即派保安七旅旅長率部配合六十六師工兵營、輜重營瘋狂反撲,以密集炮火封鎖了小南門攻城後續部隊的進城道路,並切斷了已突入城中5個排與城外大部隊的聯係,然後全力反衝鋒,以圖一口吃掉入城的攻城部隊。情況異常危急,但攻城部隊戰士鬥誌高昂,死頂不退,在共產黨員衝殺在前的模範作用帶動下,部隊盡管傷亡很重,沒有讓敵人一步。在小南門激戰之際,三縱攻曹門的部隊因曹門大火,改由宋門突入城的三縱某部二營接到上級有關支援小南門的命令後,立刻不惜一切代價涉水過河,逐屋打通牆壁,打破了蔣軍的包圍圈,與小南門被困的八縱彙合一起。蔣軍的反衝鋒被打退了,率部反衝鋒的保安七旅旅長見勢不妙,也就逃之夭夭。19日晚,蔣軍六十六師把所有部隊撤至龍亭、傳染病院、天主教堂和城西北角,保安部隊撤至省政府固守待援。至此,城垣主陣地全部突破,進入城內各部隊,隨即分多路向敵縱深穿插,展開激烈的巷戰。
開封被包圍之後,蔣介石焦急萬分,急令十八軍星夜兼程北援,6月16日己進至上蔡城及東洪橋西南地區。此時,華野十縱還在舞陽、葉縣地區休整,為配合開封戰役,華野立即命令其停止休整,向上蔡地區開進,阻擊蔣軍十八軍的增援;於是十縱以一晝夜180裏急行軍,17日拂曉到達上蔡城近郊,當天與十八軍開展激戰,打退蔣軍多次攻擊,殲敵5000餘人,迫使十八軍不能前進一步,然後十縱又協同其他打援部隊,保證了奪取開封戰役的勝利。當攻城部隊進入城區以後,蔣介石又令其空軍不分晝夜,對城區猛轟濫炸,投擲大量燃燒彈,並命令劉茂恩不惜一切代價轟炸開封,發射燃燒彈,四處縱火,妄圖把開封變成一片火海,以阻止解放軍發展進攻。僅20日一天,就在開封投彈20噸左右,開封女師700名學生就有400名遭殺害。美國合眾社報道:“蔣機轟炸開封的結果,已使和平居民的死傷達六七萬之眾。”為了避免和平居民慘遭蔣機殺害,攻城指揮員陳唐命令部隊打開四門,讓群眾疏散到城外安全地帶。而繁華的商業區和文化機關區域,到處為蔣軍縱火焚燒,把一座曆史名都變成了一個慘不忍睹的大屠場,攻城部隊入城時,到處火光衝天,屍臭難聞。不管怎樣轟炸,也挽救不了蔣軍敗局。省政府核心陣地很快拿下來了,守敵頓時亂了陣腳,有的逃命,有的投降,有的居然溜進監獄化裝成犯人逃跑,結果全部就地監禁。堂堂的省主席劉茂恩更是逃命心切,獨出心裁,他用鴨血塗抹全身,裝成一個受傷的老頭,由他衛士的老婆扮作女兒,然後爬上一輛獨輪車,混在疏散群眾之中溜出了開封城。