公元1039年七月,大宋朝廷任命夏竦知泾州(甘肃泾川)、范雍知延州(陕西延安),以防备李元昊。
十一月,李元昊进犯保安军(陕西志丹县、吴起县)做试探,“保安军钤辖”卢守勤派遣“巡检指挥使”狄青御敌,西夏军败退。
李元昊随即将主攻方向放在了延州。延州外围是金明寨,金明寨守将为李士彬,李元昊先使反间计,他派人捎书信、锦袍、金带投置金明砦境内。书信说李士彬叛宋,被“鄜延副都部署”夏随识破。
一计不成,李元昊又使诈降计,李士彬难辨真假,准备把诈降兵全部转送到南方,可延州首脑范雍,却信以为真,命李士彬将诈降兵统统收编入金明寨。
李元昊见阴谋得逞,突然围攻李士彬,大批诈降兵也同时杀出,西夏兵里应外合,李士彬大败,父子俩都被李元昊所擒。
延州地处要冲,地势平担,横亘两百里一览无遗,金明寨失守,延州就完全裸露在西夏军面前了。
范雍听闻金明寨失守,心中着慌,因为“鄜延副都部署”石元孙领兵出境了,守城者仅有几百人。范雍知道,金明寨失守,李元昊的下一站必然是延州,忙派人向“鄜延路副总管”刘平及石元孙求救。
刘平本来屯兵在庆州(甘肃庆阳),先是在庆州接到援救土门命令,匆匆忙忙带了三千骑兵出发去救土门,在路上,遇到同是援救土门的石元孙,两人会合后,又接到回军援救延州的紧急军令。
刘平艺高人胆大,接到命令后,也不等后援,只是向各路人马发出集结命令。然后自己带领骑兵急着往前赶,第二天抵达万安镇,稍作休息后,刘平又率骑兵先出发,步兵跟在后面。
傍晚,刘平等走到距离三川口(陕西延安北)十里之处宿营,发现其他各路人马还没赶来,第三天早上,后面步兵还没有跟上,刘平和石元孙只得往回走了二十里,终于和步兵汇合,加上“鄜延路都监”黄德和部二千人,以及巡检万俟政、郭遵所率部卒,步骑总计万余人。
刘平、石元孙、黄德和、万俟政、郭遵等整合部队,结阵往东,走了大约五里,和西夏大军相遇。
当时天降大雪,积雪深数寸。刘平和西夏军都列为偃月阵型相对,西夏兵约有十万,人多势众。有部将劝刘平暂时撤离,避其锋芒,刘平严词拒绝!不久,敌军渡水过河,变为横阵。