天授礼法延祚四年(宋康定二年,1041年)二月,李元昊率兵10万从折姜(今宁夏同心县预旺东)进发,经天都寨(今宁夏海原),沿瓦亭川(今葫芦河)南下,直抵好水川地区。李元昊为发挥骑兵优势,采用设伏围歼的战法,将主力埋伏于好水川口,遣一部兵力至怀远城(今宁夏西吉县偏城)一带诱宋军入伏。
韩琦听说西夏军来攻,命环庆路副都部署任福率兵数万,自镇戎军(今宁夏固原)经怀远城、得胜寨(今西吉县将台北),抵羊牧隆城(今西吉县兴隆镇西北),出西夏军之后,伺机破敌。如不利于战,则据险设伏,待西夏军回师时截击。任福与泾原驻泊都监桑怿率轻骑数千先发,钤辖朱观、都监武英等后继。
二月十三日,进至捺龙川(今西吉县偏城东北),听说镇戎军西路都巡检常鼎等正与西夏军战于张义堡(今固原县张易)以南,于是转道南进,急趋交战处。杀死几千西夏军队,西夏军也不断增援。任福军赶到当地支援,于是西夏军佯败,诱宋军追击。任福不知是计,脱离辎重,轻装尾随追击。黄昏。追至好水川,宋军由于长途追击,粮草不继,人困马乏,饥渴交迫。朱观、武英部屯笼洛川(今隆德西北什字路河)。相约次日会兵川口,合击夏军。
二月十四日,任福、桑怿引军循川西行,至羊牧隆城东五里处,发现道旁放置数个银泥盒,将盒打开,百余只带哨家鸽飞出,恰为夏军发出合击信号。宋军阵未成列,即遭夏骑冲击。激战多时,宋军混乱,企图据险抵抗。夏军阵中忽树两丈余大旗,挥左左伏起,挥右右伏起,居高临下,左右夹击,宋军死伤甚众,任福、桑怿等战死。
天授礼法延祚四年(宋康定二年,1041年)二月十四日,朱观、武英部进至姚家川(什字路河口),亦陷入夏军重围中。自辰时交战到午时,宋军溃败,宋军将士战死10300余人。任福身负重伤,小校刘进劝他突围,任福大声喊道:“吾为大将,兵败,以死报国耳!”,遂手自扼咽喉自杀死。其子任怀亮战死,桑怿、刘肃、武英、王珪、赵津、耿傅均战死。其中王珪为行营都监,率4500人自羊牧隆城来援,被夏军击败。此役宋军几乎全军覆灭,仅朱观所部千人逃脱。西夏军获胜后,李元昊闻宋环庆、秦凤路派兵来援,遂回师。