自公元906起,梁王朱全忠与晋王李克用展开了旷日持久的潞州争夺战。第二年,朱全忠篡唐称帝,国号梁,立即遣其保平节度使唐怀贞率军8万,会合魏博之兵进攻李克用去年占领的潞州。
为李克用守卫潞州的晋昭义节度使孪嗣昭见梁军来势凶猛,闭城坚守。李克用亦急令部将周德威、李嗣本、李存璋、史建瑭、安元信、李嗣源、安金全等倾兵相救,晋梁于是展开双方交兵以来最大规模的潞州争夺战。
双方自五月战至公元908正月,胜负未分。而就在是月,晋王李克用头上生疽,不治而死。死前,李克用将其长子、晋州刺史李存勖托付给振武节度使李克宁、监军张承业、大将李存璋等,并对李克宁等人说:“此子志气远大,必能成就我的事业,他们要好好教导、辅佐他。”李存勖是时年方24岁,体貌奇特,善于骑射,胆略过人。他即晋王位后,马上将阴谋夺取其王位的李克宁及其党羽杀死,随后便计划继续与梁军作战。
正在潞州与梁军对峙的晋将周德威等听说李克用已死,又得李存勖相召,连忙引军归还奔丧。梁军见晋军已退,以为潞州不日即可攻下,故而不复戒备。
李存勖24岁登晋王位,唯恐诸将不服,有背叛行为,故将统大军在潞州作战的周德威召回晋阳,同时,也是为袭破梁军埋下伏笔。周德威回到晋阳后,将大军留在城外,自己徒步进城,趴到李克用的灵柩上痛哭流涕,并对李存勖十分恭敬。李存勖见将士可用,便说:“上党(即潞州,唐天宝至德年间曾改潞州为上党郡),河东之藩蔽(藩篱、屏障)。无上党,是无河东也。且朱温所惮者独先王耳,闻吾新立,以为童子未闲(同“娴”,熟悉之意)军旅,必有骄怠之心。若简(选)精兵倍道趣(同“趋”)之,出其不意,破之必矣!取威定霸,在此一举,不可失也。”
李存勖的袭敌方略获得了监军张承业的支持,因此,李存勖检阅士卒,亲率周德威等于四月二十四日自晋阳直趋潞州。
晋军疾行六天,于二十九日抵达潞州城外45里外的黄碾,在此略作休整。五月一日展,会降大雾,李存勖于是乘雾麾军袭击潞州城外的梁军营寨。梁军以为李存勖小小年纪,刚刚即位,无暇与梁军争锋。况且,来增援潞州的晋军已退回晋阳,潞州城内的晋军惟有坐以待毙,所以毫无戒备,连巡逻的哨兵也不设,当晋军向梁军营垒发动猛然袭击的时候,梁军将士竟都未睡醒。晋军兵分两路,一路从梁军营寨西北角,一路从东北角,同时发起进攻,“填堑烧寨,鼓噪而入,”梁兵措手不及,四处溃逃,丢弃的资粮器械遍地皆是。梁军招讨使符道昭在骑马逃跑时因马倒而被晋军杀死,被晋军杀死的梁军士兵数以万计,仅康怀贞率百余骑逃走了。
此役一举歼灭了朱全忠的10万大军,不仅解了潞州之围,更使晋军实力大增,为以后灭掉朱全忠建立的梁朝奠定了基础,诚如李存勖所预言的“取威定霸,在此一举”。
梁太祖朱全忠得知康怀贞兵败之讯后,大惊,既而叹曰:“生子当如李亚子,克用为不亡矣!至如吾儿,豚犬(猪狗)耳!”
《旧五代史·唐书·庄宗纪》