正在後梁王朝動蕩不安,朱溫的三兒子朱友貞代替朱友珪取得後梁的皇位的時候,晉軍在進攻燕國劉守光的戰線上取得了重大勝利。公元913年正月十四日,周德威攻克了燕境內的順州(今北京順義)。不久周德威所帶領的晉軍又打敗了燕軍的安遠軍,防守薊州(今屬天津薊縣)的燕守將成行言等投降了晉軍。
二月二十三日,晉軍進攻燕之檀州(今北京密雲),檀州刺史陳確向晉軍獻城投降。三月初一,晉大將周德威又攻克燕之盧台軍。三月二十二日,晉將劉光濬攻克古北口,燕居庸關使胡令圭等降晉。
燕王劉守光在與晉軍的戰鬥中屢戰屢敗,他感覺自己軍隊的騎兵大不如晉軍。於是他派大將元行欽帶領七千騎兵到太行山之北訓練騎兵,並在山北招募騎兵以迎接契丹援軍。派高行珪為為武州刺史,作為元行欽的後援。
李嗣源帶兵攻打山後八軍(今河北省太行山北端軍都山以北地區),他完全占領了山後八軍地區。李存勖任命他的弟弟李存矩管理山後八軍,並派納降軍使盧文進為他的副將。李嗣源則去攻打武州(今河北張家口地區),武州守將高行珪獻城投降。元行欽聽到高行珪投降,大罵高行珪軟蛋,發兵攻打武州。高行珪派他的弟弟高行周為人質到李嗣源大營求援,李嗣源發兵救援高行珪,元行欽解圍撤退。李嗣源帶兵追趕,在廣邊軍(今河北赤城縣)境內趕上了元行欽。元行欽邊戰邊退,共與李嗣源交手八次,最後力盡而降。李嗣源喜愛元行欽勇猛善戰,將他收為義子。李嗣源接著攻打儒州(今北京延慶),奪取了儒州城,委任高行珪為代州刺史。高行周則與李嗣源的兒子李從珂作為親軍頭目分率牙兵跟隨左右。李從珂原姓王,其母魏氏先嫁王姓人家,生從珂,後李嗣源跟隨晉王李克用在河北作戰,遇到魏氏見魏氏美麗,納其為妾,李從珂也就成了李嗣源的兒子。李從珂長大以後勇猛善戰,李嗣源非常喜歡他。
晉燕的戰爭打到公元913年四月份,燕王劉守光的二千裏江山及帶甲三十萬人馬已經所剩無幾,晉軍大將周德威已經打到幽州南門。劉守光現在已經沒有了當大燕皇帝時的霸氣,
他寫了一封語氣卑下近乎哀求的信函派使者給晉軍主將周德威要求談和。周德威看到書信都氣樂了,對來使說:“大燕皇帝還沒有去南郊祭天,怎麼能屈居人下如此呢?我是受天命討伐有罪的人,至於繼續結盟友好,不是我的責任。”連個回信也不寫就把使者趕了出去。劉守光非常恐懼,又派使者見周德威乞求憐憫,周德威才把這件事報告給晉王李存勖。
四月二十七日,晉將劉光濬攻克燕之平州(今河北盧龍北),生擒刺史張在吉。五月又攻進營州(今遼寧朝陽),刺史楊靖投降。
正在晉軍攻打幽州取得勝利的時候,楊師厚與劉守奇帶領汴、滑、徐、兗、魏、博、邢、洺各州十萬軍隊大掠趙境,楊師厚經過土門直逼趙州;劉守奇入柏鄉進攻冀州,所過之處焚燒劫掠。五月十一日,楊師厚與劉守奇會攻下博,攻進了下博城。李存審和史建塘奉命守趙州,由於兵少,向周德威告急。周德威派騎將李邵衡和趙將王德明去抵禦梁軍。楊師厚、劉守奇由弓高渡過禦河向東靠近滄州,張萬進害了怕,請求梁朝庭把自己遷往河南,楊師厚上表請把張萬進調去鎮守青州,任命劉守奇為順化節度使。
六月初一,晉王派張承業到幽州前敵與周德威共商軍事,劉守光知道後派人去見張承業表示要獻城投降。張承業因為他經常言而無信拒絕了他。
七月二十四日,晉五院軍使李信攻克莫州(今河北任丘),生擒守將畢元福。八月初六,攻克瀛州(今河北河間)。
至此原來盧龍軍的地盤都已經被晉軍占領,劉守光獨守幽州城。劉守光向北方契丹王求救,契丹因為他一向不守信義,也不來救援。多次向晉軍請降,也得不到允許。於是親自登上城樓,對周德威說:“隻要晉王到城下,我馬上開城投降。”周德威派人將這話稟告晉王李存勖,李存勖讓張承業主持軍府事務,決定親自走一趟,去會會這位大燕皇帝劉守光。十一月二十三日,晉王李存勖單騎來到幽州城下,對劉守光說:“朱溫篡逆,我本想與你會合河朔五鎮之兵興複大唐。可你圖謀不軌,竟然效仿朱溫狂妄僭越,擅自稱帝。鎮州、定州二帥對你恭順侍奉,你卻不體恤他們,這才有這場戰爭。大丈夫無論勝敗要決定個去向,你到底要何去何從?”劉守光回答:“我現在隻是砧板一塊肉罷了,隻聽大王裁決。”晉王李存勖取出一支箭折斷,說:“出城來見我,保你無事。”劉守光答應明天出降。
劉守光有個愛將就是李小喜,從來就是劉守光作惡的幫凶。他卻阻止劉守光出降,更加可恨這個劉小喜當夜卻逃出城去向晉軍投降了。而且將城中已經無力支撐告知了晉軍。第二天晉軍四麵攻城,很快就攻進了幽州城。劉守光的老爹劉仁恭及妻妾被擒,而劉守光帶著老婆卻逃跑了。二十五日,晉王李存勖進入幽州。