宋军好水川大败,朝中支持范仲淹防守与议和策略的力量日益增强,但朝中反对议和之声仍很激烈。
西夏国于延州之战c好水川之战获胜后,气势更加嚣张,频频攻打掠夺宋朝西北边境州县,宋朝被迫完全采取守势。张元建议赵元昊出兵渭州,侍机攻打长安。赵元昊采纳了他的意见,又策划了定川寨之战。
庆历二年(1042),国相张元向赵元昊献计,宋朝的精兵良将全部都聚集在宋夏边境地区,而宋朝关中地区的军事力量却十分薄弱,如果西夏大军牵制宋朝边境地区的军队,使宋朝无暇顾及关中地区,然后即可派一支劲旅乘机直捣关中平原,攻占长安。
赵元昊采纳了张元的建议,派遣十万大军兵分两路大规模进攻宋朝。一路从刘燔堡出击,一路从彭阳城出发向渭州发动攻击。钳击镇戎军,企图诱宋军出击,聚而歼之。
九月初一,宋泾原路经略安抚招讨使王沿获知密报,西夏军来攻,命副使葛怀敏率军自渭州至瓦亭寨一线阻击。此时,赵元昊早已在定川寨布置好埋伏,烧断河上木桥,堵住宋军的突围必经之路。
初九,葛怀敏军到达瓦亭寨,与都监许思纯c环庆都监刘贺部合军,违令继续北进,进发五谷口。王沿急派特使持公函,警告葛怀敏不得冒进深入前线,命其背城为营,示弱诱敌,以逸待劳,设伏奇袭,攻其不备。
葛怀敏不听号令,指军镇戎军曹英c泾原路都监赵珣c两路都巡检李良臣c孟渊等部,集兵数万人,继续北进冒险突进。
二十日,宋军前进至镇戎军西南,宋将赵政认为距离西夏军已很近,不可再进。葛怀敏命令大军停止前进,诸将听说赵元昊移军新壕外,在镇戎军开军事会议,决定次日黎明前发动大规模袭击西夏军队。
赵珣以为夏军远来,利于速战速决,建议依马栏城布栅,扼其归路,固守镇戎,以保障粮道,待其兵疲而击。
葛怀敏不听建议,命诸将分兵四路趋定川寨。二十一日,沿边都巡检使向进c刘湛行至赵福新堡,遭遇西夏军截击,退守向家峡。赵元昊乘势挥军攻打新壕,向宋中军进逼。
九月二十一日,葛怀敏刚刚与赵珣c曹英等诸将于定川寨刚会合,突然,漫山遍野像潮水一样涌现出无数西夏兵马,拔栅逾壕,四面进攻。夏军又阻断定川水泉上流,截断了宋军的水源。
无奈,葛怀敏只得硬着头皮出寨,布下军阵迎战。夏军猛攻中军,宋军岿然不动。夏军掉头,又猛攻东北角的宋将曹英一军。
关键时刻,忽然吹起东北黑风,宋军迎风列阵,一时大乱,军阵遂溃,兵士皆掉头往定川寨里面狂逃,宋将曹英本人面中流箭,被射翻于城壕之中。
宋军象鸟兽散一样乱作一团,正在阵中指挥的葛怀敏也被溃兵挤下马,几乎被踩死,幸亏卫士拼力抬回寨中,才捡回一条老命。宋军逃回寨内,死守城门,杀掉不少西夏兵,形势才稍为稳定下来。
当晚,西夏兵在寨外四面举火,高呼“宋军投降!宋军投降!”葛怀敏c曹英等诸将久议不决,直至凌晨,葛怀敏才下令,准备结阵而出,向镇戎军方向突围。有宋将认为应该迂回行军,但葛怀敏执意要直接突围奔趋镇戎军而去。
二十二日黎明,以曹英c赵询为先锋,刘贺c许思纯为左右翼,李知和c王保c王文等殿后,结阵东进。临行,属下拦马再谏,请求转道而行,葛怀敏不听劝阻,继续策马向东南突围,驰行二里,这才发现长城壕桥已断,归路被阻。
西夏军乘宋军混乱之机,又断宋军后路,以逸待劳,从四面追杀过来,宋军终因寡不敌众,被西夏军十万大军重重包围,四面夹击,弹尽粮绝,葛怀敏与部将曹英,李知和c赵珣c王保c王文c刘贺等十六位将领拒不投降,全部阵亡,宋军九千余人