張憲遵照柴昭的指示,趁著完顏宗幹大軍被拖住,抓住太原城兵力空虛的時機,他帶領一萬八千馬步軍兵圍太原。張憲下令周青、吉青、趙雲、梁興四人為統領,帶領本部人馬對太原四門展開進攻,然而太原城高牆堅,城中五千守軍頑強抵抗,一時間給忠武軍造成了不小的傷亡,於是狄烈建議張憲使用火炮和拋石機集中一點,進行遠程重點打擊,先摧毀城頭的防禦工事和箭塔,再轟炸城門,破門而入。張憲采取了狄烈的意見,立刻下令將十二門火炮和數百輛推石機推出來,集中對準東城頭進行火力覆蓋。十二門火炮發射的炮彈呼嘯而過在城頭爆炸,將城頭炸得土石橫飛,無數防守的金兵被爆炸的氣浪掀翻掉落城頭,粉身碎骨;被濺射的石塊擊中腦袋,頭破血流;被破碎的彈片洞穿身體,血肉模糊。數百輛拋石機拋射的漫天大石,將城頭砸得磚石四濺,地動山搖,許多守城士兵在巨石下被碾成血餅,被翻滾的石塊砸斷手腳,被濺射的碎石擊中要害。片刻間城頭的守衛減少過半,防禦工事被摧毀,箭樓刁鬥被轟碎。
張憲見己方的炮火和投石攻擊奏效,給守城的金兵造成了大量的傷亡,城頭的防禦明顯鬆弛,防守的力度大幅度減弱。時機已然成熟,他立刻組織小隊對東城門展開爆破,一聲巨響和一陣天搖地動過後,城門轟然倒塌,濺起無數煙塵。當煙塵散盡,露出寬大的城門洞和太原城裏麵寬闊的街道,忠武軍迅速揮舞著長槍大刀進行衝鋒,騎兵毫無阻礙的出現在了太原城中的街道上,對城中的金兵展開無情的殺戮,隨後步兵蜂湧而入,與守城的金兵展開瘋狂的城頭爭奪戰。
太原東城門成功被破,張憲以點擴麵,以東城為突破口對太原城內的金兵展開清剿。數千忠武軍隨著城門的倒塌迅速衝入太原城中,步兵從城內配合城外登城作戰的忠武軍士兵,對東城頭展開兩麵夾擊,騎兵對擁擠在城下的金兵進行衝殺。城頭一點點失守,城內一寸寸丟失,金兵一個個倒下,其他幾個方向的金軍想增援,奈何自身也是危如累卵,被大量登城作戰的忠武士兵牽製,承受著巨大的壓力,隻能眼睜睜的看著東城漸漸失守。
不久之後,東城區徹底被占領,張憲、狄烈分別通過城牆和城中街道向太原全城擴展,楊再興一馬當先帶領手下騎兵在大原城中首先來了一個對穿,從東城直殺到西城城牆根下,將隨時對西城頭進行增援的金兵殺得丟盔棄甲,四散而逃。由於西城頭守軍失去支援很快便淪陷了,西城頭丟失,西城門大開,孫立孫蛟父子趁機殺入城中。孫立孫蛟隨後向北城攻擊前進,楊再興向南城攻擊,周青,吉青率領步兵沿城牆也向南北兩個方向推進。南北兩城城下休整等命和替職輪換的金軍士兵被忠武騎兵衝殺得七零八落,潰不成軍,許多士兵見大勢已去紛紛跪地乞降,城頭金兵在強大忠武軍麵前節節敗退,在源源不斷湧來的忠武士兵麵前城頭陣地寸寸丟失,最終難逃被殲滅的命運。
張憲成功占領太原全城後,為了在太原徹底站穩腳跟,他立即對太原城防作出緊急布置。張憲命令趙雲,楊再興帶兵繼續剿滅肅清城中的金軍殘餘;命令周青、梁興、孫蛟、孫螭四人率領部隊駐防四麵城牆,防止金軍反撲;由吉青負責看管降兵俘虜,孫立負責清查城中物資和守衛府庫錢糧,狄烈負責安撫百姓,恢複城中秩序,組織民眾修繕城門,重建城防工事;孫新負責協助金大堅、淩振將十二門火炮和數百輛拋石機安放於四方城頭,秘密建設火藥坊,負責保護工匠們的安全。