宋宝元二年三川口之战以后,宋仁宗深感西夏强盛,封夏竦为陕西经略安抚使,韩琦、范仲淹为副使,共同负责迎战西夏的事务,韩琦主持泾原路,范仲淹负责鄜延路。为遏制西夏军,仁宗采纳韩琦的建议,拟发泾原、鄜延两路兵反击。因同任副使范仲淹持异议,仁宗命诸臣再议。夏景宗元昊乘宋进兵未决,再度攻宋。
宋康定二年二月,西夏景宗李元昊再次率领十万大军大举南下攻宋。李元昊为发挥骑兵优势,采用设伏围歼的战法,将主力埋伏于好水川口,遣一部兵力至怀远城一带诱宋军入伏。
韩琦听说西夏军来攻,命环庆路副都部署任福率兵数万,自镇戎军经怀远城、得胜寨,抵羊牧隆城,出西夏军之后,伺机破敌。如不利于战,则据险设伏,待西夏军回师时截击。任福与泾原驻泊都监桑怿率轻骑数千先发,钤辖朱观、都监武英等后继。
二月十三日,宋军进至捺龙川,听说镇戎军西路都巡检常鼎等正与西夏军战于张义堡以南,于是转道南进,急趋交战处。杀死几千西夏军队,西夏军也不断增援。任福军赶到当地支援,于是西夏军佯败,诱宋军追击。任福不知是计,脱离辎重,轻装尾随追击。黄昏。追至好水川,宋军由于长途追击,粮草不继,人困马乏,饥渴交迫。朱观、武英部屯笼洛川。相约次日会兵川口,合击夏军。
二月十四日,任福、桑怿引军循川西行,至羊牧隆城东五里处,发现道旁放置数个银泥盒,将盒打开,百余只带哨家鸽飞出,恰为夏军发出合击信号。宋军阵未成列,即遭西夏骑兵冲击。激战多时,宋军混乱,企图据险抵抗。夏军阵中忽树两丈余大旗,挥左左伏起,挥右右伏起,居高临下,左右夹击,宋军死伤甚众,任福、桑怿等战死。朱观、武英部进至姚家川,亦陷入夏军重围中。自辰时交战到午时,宋军溃败,宋军将士战死万余人。任福身负重伤,小校刘进劝他突围,任福大声喊道:“吾为大将,兵败,以死报国耳!”遂手自扼咽喉自杀死。其子任怀亮战死,桑怿、刘肃、武英、王珪、赵津、耿傅均战死。此役宋军几乎全军覆灭,仅朱观所部千人逃脱。西夏军获胜后,李元昊闻宋环庆、秦凤路派兵来援,遂回师。宋军退兵中途,阵亡将士的父兄妻子几千人,持故衣纸钱为烈士招魂,噩耗传到东京,“关右震动,仁宗为之旰食”。好水川之战基本奠定了宋军对待西夏的战略。宋宋军败了,西夏胜了,但西夏也没捞到什么好处,每次都是起大军前来,以多战少,虽然战胜宋军,但宋军的战斗表现也不差,夏军即使杀敌一千,也自损八百,而且战争打的都是钱,虽然胜了宋军,得到的实际好处却不多,西夏的经济被战争折腾的民怨沸腾,苦苦支撑。此战还对于我国文学史上产生了一个意外影响。当时范仲淹的好友滕子京正在知泾州任上,此战后,他设醮祭祀阵亡将士,安抚百姓人心,结果被人弹劾为滥用公钱。于是,庆历四年春,滕子京谪守巴陵郡。是不是很熟悉,这才有了《岳阳楼记》这篇千古流传的名篇。