宋平南唐後,趙匡胤不接受群臣請加尊號“一統太平”,說:“燕(幽雲)、晉(北漢)未複,可謂一統太平乎?”可見他對平北漢和收幽雲,是視為統一範疇的事,認為太原未下,幽雲未複,趙宋王朝的統一事業尚未成功。
趙匡胤本擬按照“先南後北”的順序實行統一大業,然而968年8月,北漢主劉鈞(劉崇之子)死,其養子劉繼恩繼立,權臣郭無為掌握政權。九月,劉繼恩宴請群臣,意圖擒殺郭無為,反被郭無為派人殺死。劉鈞另一養子劉繼元繼位。趙匡胤覺得北漢內亂,有機可乘,便臨時改變“先南後北”的統一方針,決定先伐北漢。
開寶二年(969年)初,趙匡胤大舉出征。當上皇帝後,趙匡胤頗維護自己的體麵形象,很少像以前那樣親自領兵了,然而這次軍事行動牽動了宋軍各路方麵的名將:黨進、李繼勳、趙讚、曹彬分別從東南西北四個方麵築寨合圍太原城,負責圍城打援的何繼筠和韓重贇分別在石嶺關和定州伏擊兩路來救的遼軍,太祖不得不臨陣調度、麵授戎機。
太原城久不能下,戰事異常慘烈。趙讚在督戰時,足部被弩矢貫穿受傷。宋軍決汾河灌城,趙匡胤親自指揮禁軍乘小舟載強弩攻城,扈從的內外馬步軍都軍頭王廷艾被流矢射中腦部而死。殿前指揮使都虞候石漢卿中箭,墜水溺死。殿前東西班都指揮使李懷忠(978年卒)中箭垂危。
殿前諸班衛士皆叩頭請求急攻,願盡死力,但趙匡胤不忍心這支精心訓練、“以一當百”的親衛軍死光,說道:“汝曹皆我所訓練,所以同休戚也。我寧不得太原。”眾皆感泣。
由於宋軍“頓甘草地中,會暑雨,多被腹病。”趙匡胤聽了太常博士李光讚的諫言,下令退兵。第一次攻漢行動未能成功。
開寶二年(969年)二月,趙匡胤第二次征討北漢。這次征討仍以多次對北漢作戰的李繼勳為統帥,率兵先行進攻太原,趙匡胤隨後從汴梁出發,率軍奔赴太原。三月,趙匡胤抵達太原,立即部署宋軍對太原城進行包圍。李繼勳在南,趙讚在西,曹彬在北,黨進在東。北漢的劉繼業率軍衝出太原城,進攻實力較弱的趙讚和黨進,可是沒有取勝,又退回城內。北宋軍隊加緊攻城,還挖了太原城周圍的汾水和晉水灌入太原城內。契丹果然沒有辜負北漢的期望,穆宗派出援軍,與趙匡胤當初預計的路線一樣,從鎮、定和陽曲兩條路線進軍太原。早已在這裏守候的宋軍,擊退了前來援助的遼軍。契丹沒有放棄,穆宗派北院大王耶律斜軫繼續南下援救北漢。耶律斜軫選擇兩路宋軍的中間點——白馬嶺為突破點,一舉越過了北宋的防線,進抵太原城下。北漢堅守數月,被宋軍打得無還手之力。北宋軍隊受大雨和疾病影響,也無法短期內攻下太原。契丹援軍的到來無疑會打破這種脆弱的平衡,壓垮的則將是北宋軍隊。太常博士李光讚勸說趙匡胤退兵,麵對這樣的局麵,趙匡胤隻好同意了。