堅守了一個多月,契丹的外援又來不了,糧餉道路又被宋軍切斷,太原城中已是彈盡糧絕。
宋軍將太原城包圍得如同鐵桶似的,就是攻不下來。趙光義每天命令弓弩手往城中射招降書,與其損兵折將,出力不討好地攻城,不如勸劉繼元早一點投降來得實惠,北漢宣徽使范超就拾到一封這樣的招降書。
五月初,趙光義又親自督促諸將急攻城太原城西南隅,經過激烈奮戰,終于打下太原城西南的護圍羊馬城。
北漢宣徽使范超偷偷逾城投降,被宋軍抓住,不知道哪個糊涂蛋,竟然一根筋地懷疑他是奸細,不問青紅皂白,一刀下去就把范超給咔嚓了。
劉繼元聽聞范超出城降宋,就將范超的妻兒和一家老小,盡行殺死,并將首級扔出城外。
趙光義聽說范超枉死,妻兒受戮,立即傳旨,命人置辦棺槨收殮尸首,自己親自到棺前致哀。城上的北漢兵將看見了,都十分感動。
趙光義至城西北隅,再次招降,北漢馬步軍都指揮郭萬超密令心腹縋城,到宋營商談投降密約,趙光義折箭為誓,絕不加害。郭萬超等人潛出太原城,向宋軍投降。趙光義格外優待這些出降的北漢將士,城內的兵將得知,紛紛潛出城投降大宋。
五月初四,趙光義至城南,再次命令弓弩手往城中射招降書,同時指揮大軍猛烈攻城。北漢國主劉繼元卻一直沒有被殺慫,大宋皇帝趙光義也是個肯動腦子的主兒,開寶二年(969),趙匡胤親征北漢,曾經筑長堤、水淹太原城。攻城之戰打了四個月的時間,宋軍死傷不少,有一樣學一樣,趙光義這回想讓劉繼元再嘗嘗被水淹的滋味。
宋軍引水灌城,太原城立即變成一片汪洋。大水沖垮太原城東南角,涌入夾城。被太原城的銅墻鐵壁阻擋了幾個月時間,大宋將士早就怒不可遏,見水灌得手,個個爭先恐后,都要沖進去與北漢將士來個你死我活。
這個時候,趙光義反而變得優柔寡斷了,他擔心引發屠城事件,于是馬上制止宋軍沖鋒。劉繼元親自指揮士卒運土堵水,他要做最后的抵抗。
孤立無援,軍心動搖,北漢大勢已去,眼看太原城即將淪陷,在家養病的北漢老臣馬峰出來拜見劉繼元,勸他投降,這樣可以保障太原百姓免遭被屠城的厄運。
北漢主劉繼元已經眾叛親離,城中危急。趙光義又寫了一道詔書,派人進城,勸劉繼元投降,許諾劉繼元只要投降,就能繼續安享富貴,詔云:
越王吳主,獻地歸朝,或授以大藩,或列于上將,臣僚子弟,皆享官封;繼元但速降,必保終始,富貴安危兩途,爾宜自擇。
劉繼元見將士紛紛出城投降,孤城難守、契丹不救,自己已經是計窮力竭,走投無路,為了百姓免遭涂炭,只得答應向大宋投降。
劉繼元對宋使道:“宋主果能優待,我當即日迎降。”當即派人帶著降表出城,送達大宋皇帝趙光義。
五月初六,趙光義率領諸將領,在太原北門外連城臺上舉行受降儀式,劉繼元縞衣紗帽,率領眾文武,出城投降,俯伏請罪。
趙光義召劉繼元登臺,傳旨特赦,封劉繼元為特進、檢校太師、右衛上將軍、彭城郡公,賜給京師甲第一區,賞賜甚厚。