好水川战役后,宋朝完全采取守势,不轻言出击。宋朝政府将陕西地区分成四路(路是宋朝行政区域名),鄜延路由庞籍负责,兼延州知州;环庆路由范仲淹负责,兼庆州知州;泾源路由王沿负责,兼渭州知州;秦凤路由韩琦负责,兼秦州知州。以上4人各兼本路经略安抚招讨使,分区防守。四路之中,以泾源路最为薄弱。该州川平原阔,无险可守。而渭州(今甘肃平凉)知州王沿,既不熟悉边事,又无军事指挥才能。
夏天授礼法延祚五年(1042年),夏教练使李文贵入宋试探通和(讲和)未归,元昊怀疑被宋扣留,遂想再度侵宋,但不知宋军虚实,一时拿不定主意,便与国相张元商议。张元献策说:“宋朝的精锐部队集中在边境,关中必然空虚。如果我们用重兵围住宋朝边城,使宋兵不能出战,就可乘隙深入,东阻潼关,隔绝两川的贡赋。这样,长安就在我们的掌中了。”元昊采纳了张元的建议,决定将泾源路作为突破口。这年闰九月,元昊在天都山(今海原西华山)点集左右厢兵10万,分东、西两路进军:一路出刘璠堡(今宁夏海原县西南),一路出彭阳城(今彭阳县白杨城),合攻镇戍军(今固原城)。渭州知州王沿得到夏军入侵的消息后,令泾源路副总管葛怀敏率军据守瓦亭寨(在今固原市大湾乡瓦亭村)阻击夏兵。王沿虽然没有什么军事指挥才能,但在葛怀敏临行时,还是多嘱咐了几句:切忌深入,可以在瓦亭寨北的第背城(今固原市南)扎营,然后诱敌深入,以伏兵攻其不备,即可得胜。看来王沿的军事指导思想与韩琦为任福制定的作战计划有点相似,核心是不要深入,设伏兵取胜。但宋朝的率兵大将总是自以为是,喜欢深入,反而钻进元昊设下的伏击圈内,演出了一幕幕历史悲剧。岂不怪哉!
葛怀敏带领环庆路都监刘贺及缘边都巡检使向进、刘湛、赵瑜等所部人马到了瓦亭寨,没有遇见夏军,便不按出征时制定的在第背城扎营、诱敌深入的作战计划阻击夏军,擅自领兵向羊马城进军,也就是深入到今固原城西郊的大堡村。葛怀敏的大军到了羊马城后,镇戎军统领曹英及泾源路都监李知和、王宝、王文,镇戎军都监李岳,西路都巡检赵璘等领兵来会。葛怀敏大概认为自己兵多将广,便命诸将分四路会师定川寨。定川寨在今固原市城西北的中和乡,紧挨战国秦长城,地理位置十分重要。葛怀敏的这种军事部署,正是元昊所希望的。因为元昊仍采用的是诱敌深入聚而歼之的战略,把宋军主力吸引到定川寨,然后重兵围困,最后消灭之。当宋军主力全部集中到定川寨后,元昊派兵烧毁定川寨后定川河上的板桥,切断宋军退路。又派人断绝定川河水,使寨内无水、人马俱渴。这一切准备停当之后,元昊指挥大军把定川寨围了个水泄不通。自投罗网的葛怀敏这时才发现自己中计,打算向东南面的镇戎军靠拢。他先派刘贺率本部兵士到寨西阻止夏军断水,结果被夏军击败。葛怀敏率本部人马屯寨门东边,令镇戎军统领曹英部屯寨门东北部,形成犄角之势,以便向镇戎军转移。黄昏时分,元昊先以精兵冲击葛怀敏的人马,被葛怀敏奋力击退,元昊又转向冲击曹英的人马。此时,突然从东北方向刮起一股黑风,霎时间狂风大作,飞沙走石,天昏地暗,曹部人马惊惶失措,乱成一团,兵找不到将,将找不到兵。夏军乘机从四面进攻,葛怀敏的军队反被曹英乱军所冲,只好退入寨内。曹英面部中流箭,倒在壕中;葛怀敏亦被乱军践踏得几乎昏死过去,士兵把他救起,抬入寨中方才苏醒过来。宋军寨外营地全部丢失,只好退入寨中。勇而无谋、轻敌冒进的葛怀敏被困寨中,眼看无水可饮,十分焦急,便决定天亮突围,撤还镇戎军。当时泾源路都监赵珣建议从寨西南角突围,绕道奔笼竿城(今隆德县),以避开夏军主力。可是,葛怀敏坚持从东南方向突围,由原路南撤。黎明前,葛怀敏率军向镇戎军方向转移。将士们边战边走,行至长城边,板桥已断。正在进退两难时,早已埋伏在长城边上的夏军,从四面八方蜂拥而来,又将宋军团团围住。一场激战,葛怀敏、李知和、王宝、王文、刘贺、李岳、赵璘等16员将领全部战死,士兵9400人、战马600余匹,皆为夏军所俘。
元昊乘胜率军向渭州进发,沿途堡寨守军都不敢抵御。夏军长驱直入,直抵渭州,在纵横三四百公里的地面上,进行扫荡、掠夺。元昊在胜利声中,意骄气盈,用“诏书”形式告谕宋朝关中军民,内有“朕欲来亲临渭水,直据长安”之语,完全是一副胜利者的姿态。据说此“诏书”系国相张元所作。夏军饱掠之后,高唱凯歌,回军天都山。当宋军大败的消息第三次传到汴京的时候,宰相吕夷简由于恐怖而发出慨叹:“一战不如一战,可骇也!”